问题标签 [roxygen2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5446 浏览

r - roxygen2 未完全更新说明文件

我正在制作我的第一个包rlandscape,使用 Roxygen2 并尝试遵循普通的 Roxygen 小插图,因为 Roxygen2 没有。

正如在小插图(第 3 页)中一样,我创建了一个名为的文件,该文件rlandscape-package.R只包含包文档。在小插曲中,他们说

每个 Roxygen 描述块必须后跟一个语句,甚至是描述文件或包的标题材料以代替特定功能。roxygen() 作为 NOOP(空语句)提供,以代替此类情况。

但是如果我按照描述块roxygen()调用package.skeletonproduces Error in eval(expr, envir, enclos) : could not find function "roxygen"。因此,我尝试roxygen()完全放弃调用并将其替换为NA,两者似乎都产生相同的结果:package.skeleton()成功工作(包括rlandscape-package.R作为code_files参数之一),然后我可以roxygenize

这似乎运行成功,但说明文件附加了“整理”字段,但与package.skeleton创建的内容相比没有变化。为什么描述文件的其余部分没有更新?

0 投票
1 回答
4337 浏览

r - 用 roxygen2 记录数据集

我正在尝试使用 roxygen2 在 R 包中记录一些数据集。仅考虑其中之一:

  • 我有mypkg/data/CpG.human.GRCh37.RDa
  • 其中包含一个名为CpG.human.GRCh37
  • 和一个名为: 的文件mypkg/R/cpg-data.R,其中包含:

    /li>

当我 roxygenize 时,它​​会被创建mypkg/man/CpG.human.GRCh37.Rd,其中包含:

export(CpG.human.GRCh37)添加了NAMESPACE文件。

但是当R CMD CHECK我得到:

我没有告诉 R 在哪里可以找到这个数据集,尽管我认为这mypkg/data/<name>.RDa将是一个很好的初步猜测。任何提示都会很棒。

如果 Hadley 正在观看,我注意到没有创建 \usage 部分并且忽略了 @usage 指令。

我在 R 2.13.1 上使用 roxygen-2.2.2

0 投票
1 回答
180 浏览

r - roxygen2 + cygwin + 默认参数 = 截断的 `\usage` 部分

我有一个我一直在 Linux 下开发的 R 包,我在 Windows 下测试它的可怕时刻已经到来。

文档是使用 roxygen 完成的,我正在使用 cygwin 构建包。

问题是,当 I 时roxygenise('test-package'),roxygen 将\usage文档的部分截断为一个字符。它对我的一些但不是全部功能执行此操作,我无法弄清楚模式。

在 Linux 或 Windows 下运行相同的命令(即从 R 提示符)时不会发生这种情况roxygenise('test-package')- 只是 Windows 下的 Cygwin(使用 R devtools + Windows 的命令提示符对我来说不是一个选项 - 它是 Makefiles 大项目的一部分ETC)。

在所有情况下,我都使用 roxygen v2.2.2。


更新:

这似乎发生在任何具有默认参数的函数上。


我把它归结为一个可重现的例子,尽可能地精简以隔离问题:

  1. 来自 R:

    /li>
  2. 修改trim.R(在 test/R 中)并将以下 roxygen 添加到顶部,因此文件如下所示:

    /li>
  3. 运行 R 并生成文档:

    /li>
  4. 查看生成的trim.Rd文件(在 test/man 中):

    /li>

看看怎么只有一个\usage{t}??

当然,当一个人运行时,R CMD check会收到一个关于没有出现在文档中的参数的错误\usage,但那是因为\usage被截断了。

有谁知道为什么会发生这种情况以及我该如何解决?也许其中的某些东西roxygen2依赖于适用于 Mac、Windows 和 Linux 但不适用于 Cygwin 的东西?

干杯(我一直在为此扯头发)。

更新#2:

我一直在使用从 Cygwin 的包管理器安装的 R,而不是我的 Windows R(即 中的那个C:/Program Files/R/R-2.14.2/bin)——我没有意识到 Windows R 可以在 Cygwin 下工作。

如果我在 Cygwin 中使用 Windows R,错误就会消失。如果我在 Cygwin 中使用 Cygwin R,则存在该错误。

我只能假设这是一些与 Cygwin R 相关的错误,而不是 roxygen2。

现在我将使用在 cygwin 中使用 Windows R 的解决方法(事实上,现在我知道我可以做到这一点,无论如何都不需要 Cygwin R!)。

0 投票
1 回答
1802 浏览

r - install_github 返回错误:无法打开 zip 文件

当我运行以下命令时:

我收到以下错误:

使用开发工具 0.51:

我安装了 devtools 的更新版本(0.6):install_github('devtools')

并且错误信息更多,但类似:

难道我做错了什么?


0 投票
2 回答
2012 浏览

r - 使用 Roxygen 在同一个文件中记录两个 S3 方法

我有两种密切相关的 S3 泛型(在另一个包中定义)方法,因此我想将它们记录在同一个Rd文件中。R CMD check但是,当我分别记录他们的论点时,我从“文档对象中的重复 \argument 条目”中收到警告

第一个参数必须是data因为这是泛型定义的。但是,对于不同的方法,它的文档是不同的,只是因为它必须属于不同的类。我可以为此拥有两个单独的文档文件,但它们紧密耦合,因此我想将它们放在一起。我可以在第一次调用中列出所有可能的类,data而在随后的调用中没有任何内容,但这意味着我正在用第一个函数记录第二个函数,而不是像 Roxygen 那样将它们全部放在一起。

是否有可能让 roxygen 从多种方法中创建一个合法的(不重复参数)?如果没有,处理这种情况的最佳方法是什么?

0 投票
2 回答
3764 浏览

r - 使用 roxygen2 和 BibTeX 引用 R 包中的文章?

我使用 roxygen2 作为记录我的 R 包的工具,我发现 roxygen2 中有一个 @references 标记,但这似乎只接受自由格式的文本。我发现了一些关于 roxygen 的演示文稿,其中有标签 @bibliograph 和 @cite,但我是否正确地说 roxygen2 中没有这样的东西?

然后我应该以某种方式从 bibtex 文件中取出引用并直接在 @references 标记之后使用适当的格式手动编写它们,还是有一些更聪明的方法来做到这一点?我有大约七篇不同的文章需要引用,涉及多个函数/rd 文件。

0 投票
4 回答
6058 浏览

r - RStudio 可以自动为函数生成 roxygen 模板吗?

RStudio 是否支持任何自动 roxygen 模板创建?

在 Emacs-ESS 中,C-x C-o将为一个函数生成一个 roxygen 模板。例如,它会自动转换:

进入这个:

RStudio 中是否存在类似的功能?

更新

  • ESS 12.09-2 开始,命令已更改为C-c C-o C-o
  • 此功能已在 Rstudio 中实现:CTRL+ALT+SHIFT+R
0 投票
2 回答
4403 浏览

r - R CMD检查警告:在文档对象中使用的函数/方法......但不在代码中

我正在写一个包,但一个持续的R CMD check警告阻止我完成包并将其发布到 CRAN。我roxygen2用于内联文档,尽管这可能不是错误的根本原因。

如果您知道如何删除此警告,我很可能会想出一种使用roxygen2.

如何 Functions/methods with usage in documentation object ... but not in code 从包裹检查中删除警告?


R CMD check警告:

功能和roxygen文档:

生成的.rd文档文件:


我已经将我的文档与基础 R 中的文档进行了交叉检查names<-,看起来是相同的:


相关问题(但我已经实施了这个建议,但仍然没有运气):


我哪里错了?如何从包裹检查中删除此警告?

0 投票
1 回答
594 浏览

r - 在 Roxygen2 中导出数据,这样它们就可以在不需要 data() 的情况下使用

在阅读了诸如使用 Roxygen 记录数据集的 SO question之类的问题后,我设法记录了一个数据集(我将其称为cells),它现在出现在由生成的列表中,data(package="mypackage")并且如果我运行命令则被加载data(cells)。在此之后,运行cells时会出现ls()

然而,在许多包中,数据无需data()调用即可立即获得。此外,运行时不会出现数据名称ls()。一个例子是baseball附带的数据集plyr。我查看了源代码,plyr但看不到这是如何完成的。

0 投票
5 回答
26264 浏览

r - 如何不使用 roxygen2 运行示例?

我现在正在编写一个依赖于 Bing Maps Key的地理编码功能。显然我宁愿不发表我的,这些例子没有一个就失败了。

如何包含一个示例供用户手动运行,但在 期间不执行R CMD check