标签: roxygen2

构建自己的包但加载后命名空间为空

我正在使用RStudio创建自己的软件包,到目前为止一直运行良好.当我现在通过RStudio的'Build Source Package'构建一个包(将包从我的Windows机器移动到Linux机器)时,一切似乎都很好.我在Linux机器上安装软件包,用require(或库)加载它,但是找不到任何功能!错误是object 'somefunction' not found并且myPackage::somefunction表示没有导出此类对象.事实上,如果我在RStudio中查看myPackage的环境,它会显示它是空的.

RStudio通过创作说:

==> roxygen2::roxygenize('.', roclets=c('rd', 'collate', 'namespace', 'vignette'))

First time using roxygen2. Upgrading automatically...
Writing NAMESPACE
Warnmeldung:
Paket 'nlme' wurde unter R Version 3.2.5 erstellt 
Documentation completed

==> Rcmd.exe build myPackage

* checking for file 'myPackage/DESCRIPTION' ... OK
* preparing 'myPackage':
* checking DESCRIPTION meta-information ... OK
* cleaning src
* checking for LF line-endings in source and make files
* checking for empty or unneeded directories
Removed empty directory 'myPackage/data' …
Run Code Online (Sandbox Code Playgroud)

packages r rstudio roxygen2

3
推荐指数
1
解决办法
1397
查看次数

在Sublime Text 3中,如何更改注释字符?

我喜欢自动评论功能Ctrl + /,但我希望能够随意更改它使用的角色.我看过许多类似的问题这一个,但它不完全是一个通用的解决方案.

如何让评论角色使用不同的东西?具体的用例是我正在编写R代码并使用Roxygen2作为文档.这#'用作注释字符,而不仅仅是#.所以我想设置sublime使用,#'因为我不能将它用于Roxygen2评论.

关于Sublime2的问题,就像这个,引用'.tmPreferences'文件,但我在Sublime 3安装中找不到任何这样的文件.如果答案仍然是这些文件,它们在哪里存储在Sublime 3中?

roxygen2 sublimetext3

3
推荐指数
1
解决办法
1599
查看次数

如何使用 roxygen 包从 dplyr 导入管道运算符 %>%

我想用我写的一些函数构建一个包。现在我的问题是,我不能将管道运算符 %>% 与 dplyr 一起使用。我用 roxygen2 创建了这个包。

如果我编写没有 %>% 的 dplyr 命令,一切正常。

代码里面:

#'
#' @import dplyr readr mailR writexl
#' @importFrom dplyr %>%
#' @name %>%
#' 
#' @export
#'
Run Code Online (Sandbox Code Playgroud)

我写:

描述

LazyData: true
RoxygenNote: 6.0.1
Imports: dplyr 
Run Code Online (Sandbox Code Playgroud)

roxygen2 生成:

命名空间

...
importFrom(dplyr,"%>%")
...
Run Code Online (Sandbox Code Playgroud)

r pipe package roxygen2 dplyr

3
推荐指数
1
解决办法
1820
查看次数

仅加载一个函数的依赖项

我正在创建一个包含一些功能的包。只需要一项辅助功能plotly

但是,当我使用安装时,devtools我收到一条注释unused arguments in layout(yaxis = ay,...然后我阅读了Hadley 的关于vs 的文章importsdepends。使用 import 不会删除注释,但在 NAMESPACE 文件中添加plotlywith可以解决问题。depends

接下来我读了有关“搜索路径”的段落。哈德利在这里指出

您永远不应该在包中使用 require() 或library():相反,请使用描述中的 Depends 或 Imports 字段

我现在的问题是,使用的功能plotly更多的是软件包的附加组件。所有其他(更重要的)功能都可以与 base-R 一起使用。因此我plotly只想将其用于需要它的一个功能。

  1. 是否可以在 期间不创建注释install
  2. 为什么包装内的require东西这么坏?library
  3. requireNamespace先用然后再用可以吗require

这是一些示例代码:

#' Some plotly function
#'
#' Some very long description
#'
#' @param x_vec A numeric vector
#' @param y_vec A numeric vector
#' @keywords …
Run Code Online (Sandbox Code Playgroud)

r devtools roxygen2 plotly

3
推荐指数
1
解决办法
645
查看次数

Rd 创建但未导出

我正在记录一个内部的非导出函数。@export即使文档中没有标签,roxygen2 也会创建一个 Rd 文件。roxygen2 为以下文档创建了一个 Rd 文件。我缺少什么?

    #' Check validity of a
    #' @param a A logical value
    arg_check_a = function(a) {
      if (!is.logical(a)) {
        stop("a must be a logical value")
      }
    }
Run Code Online (Sandbox Code Playgroud)

r roxygen2

3
推荐指数
1
解决办法
408
查看次数

使用roxygen2 R CMD检查codoc错配警告记录参考类

我正在尝试使用roxygen2为引用类对象创建文档,但是当我运行R CMD检查时,我不断收到此警告:

  S4 class codoc mismatches from documentation object 'myRefClass-class':
  Slots for class 'myRefClass'
  Code: .xData
  Inherited: .xData
  Docs: field1 field2
Run Code Online (Sandbox Code Playgroud)

这是与上述警告相关的ref class和roxygen2块:

#' @title myRefClass class
#' @description Description of myRefClass
#' @import methods
#' @exportClass myRefClass
#' @slot field1 A character slot
#' @slot field2 A numeric slot
myRefClass<-setRefClass(Class="myRefClass", 
                        fields=list(field1="character", 
                        field2="numeric"))
Run Code Online (Sandbox Code Playgroud)

以下是生成的R文档:

myRefClass-class {testPackaging} R文档myRefClass类

描述

myRefClass的描述

老虎机

field1字符槽

field2数字槽

至于我能找到的文档,codoc正在测试我的代码和文档之间的一致性.据我所知,所有的插槽名称都是一样的; 也许我错过了什么.不确定文档是否应该自动将其标记为引用类,或者我是否应该以某种方式指出?我发现R文档表明插槽".xData用于启用异常类型的继承",但我不确定为什么它适用于我在这里做的或者我应该用它做什么.

我已经尝试了一些roxygen标签的排列并且保持接近这里发现的结构似乎给了我最好的结果/来自R CMD检查的最少警告:Roxygen2 - 如何@export参考类生成器? 我一直在网上寻找roxygen2应该如何与参考类一起使用的例子; 也许我正在寻找错误的地方 - 我运气不好.

我正在使用roxygen2 v 3.1.0/RStudio版本0.98.501/R版本3.0.3/OSX 10.9.2(注意:尝试升级到roxygen2 v 4.0并且它在引用类上完全被阻塞,以至于没有文档存在根本生成)

如果有人知道使用roxygen2和引用类的CRAN包,那么我可能会看到它是如何正确完成的,或者如果有人知道我做错了什么,那么帮助将非常感激.我是R的包装建筑的新手.

documentation r roxygen reference-class roxygen2

2
推荐指数
1
解决办法
1171
查看次数

用于R封装的Roxygen的示例

我正在尝试在我的包中添加一个函数示例.那是因为我想使用roxygen2.我正在做以下(只是我的代码的一部分,在roxygen2文档的末尾,直到函数的代码开始...

#' @import  EcoHydRology
#' @export
#' @example
#' Tx <- 29
#' Tn <- 13
#' rain <- 100
#' lat <- 1
#' Ion <- 10
#' DOY <- 44
#' z <- 450
#' c <- 2.4
#' B <- 0.004
#'
#' BC_alt(Tx, Tn, rain, lat, lon, DOY, z, c, B)



BC_alt <- function(Tx, Tn, rain, lat, lon, DOY, z, c, B){



  #Extraterrestrial solar radiation (with EcoHydRology package)
  lat_rad <- lat*pi/180

  A <- 0.75+(2*10^(-5)*z)
Run Code Online (Sandbox Code Playgroud)

...所以,当我尝试构建和重新加载时,我收到一条错误消息

> …
Run Code Online (Sandbox Code Playgroud)

r roxygen2

2
推荐指数
1
解决办法
338
查看次数

使用roxygen2在sysdata.rda中导出多个对象

我的包中有两个对象(page.heightpage.width)sysdata.rda.我已经roxygen2像这样记录了他们

#'@name page.height
#'@aliases page.width
#'@title Standard dimensions
#'\itemize{
#'  \item{page.height}{Maximal height of a figuur (in inch)}
#'  \item{page.width}{Width of a figure covering two columns (in inch)}
#'}
#'@docType data
#'@export
#'@usage page.height
#'@keywords datasets
NULL
Run Code Online (Sandbox Code Playgroud)

page.height对象被导出,但page.width对象不是.我应该如何记录这一点,以便将它们导出并记录在同一个帮助文件中?

r roxygen2

1
推荐指数
1
解决办法
149
查看次数

知道一个包是在哪个(确切的)R 版本下构建的?

我们如何才能准确地分辨出 R 包是在哪个 R 版本下构建的?

例子

此处的 RSelenium 包DESCRIPTION文件中,我们看到

Depends:
    R (>= 3.0.0)
Run Code Online (Sandbox Code Playgroud)

但这似乎并不准确(由于>符号)

笔记

Karl Browman 的网站

Depends 用于指示对特定版本的 R 的依赖,以及在加载包时要加载的包(使用 library())。如果您希望用户在每次加载您的包时都希望加载其他包,那么您应该在此处包含包名称。但是现在这种情况比较少见。(我认为这些包的命名空间也应该用@import 导入。)

r cran roxygen2

1
推荐指数
1
解决办法
88
查看次数