问题标签 [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 投票
2 回答
1934 浏览

r - How do I indicate collate order in Roxygen2?

Using roxygen2 documentation with devtools document function automatically generates a Collate: field in the package DESCRIPTION, regardless of whether or not it is necessary to load the package library files in a particular order.

I'm working on a package with a bunch of S4 methods and want to be sure the class definitions are loaded before any methods or other classes using them, which I understand I can do with the Collate list, but I'm not sure how to indicate this in the roxygen2 documentation format.

The roxygen2 manual makes some reference to an @include tag but that looks like it might actually just include code in the documentation, for instance, for adding external examples through an @examples flag. Can this be used for specifying collate order for methods?

0 投票
1 回答
1257 浏览

r - 记录和导出基础中已存在的 S4 泛型方法

我的问题与这个未回答的问题中概述的问题基本相同,该问题导致提交并成功关闭了错误报告。

给定一个现有的S4 generic, 就我而言diag和,我希望从另一个包diag<-中导出一个实现。S4 class

阅读另一个线程,我发现如果我分别使用标签@exportMethod diag<-和,我可以成功导出这些函数@exportMethod diag,但我无法让文档正常工作。

第一个线程和随后关闭的错误报告表明以下应该有效(在这种情况下为方法show):

但是,当我尝试执行以下操作diag时,尝试构建时出现错误:

错误: Error : Sections \title, and \name must exist and be unique in Rd files

澄清:目前没有diag可用于此类的实现。

编辑:解决错误: 我可以解决此错误,但不能不破坏diag.

如果我按如下方式添加唯一名称和标题,它将成功构建:

但是当我输入?diag一个 R 会话时,我得到了错误:

Error in (function (path, query, ...) : replacement has length zero

我认为这意味着它s finding two helpfiles fordiag`。

0 投票
1 回答
10012 浏览

r - roxygen2 手动插入换行符

我有一个我想用 roxygen2 记录的函数:

这个函数有大约 10 种不同的方法,每一种都有很长的描述。我希望每个“方法”之间有一个换行符,以便于快速查看可用的不同方法。

正如所写,当我打电话时roxygenize('mypackage'),上面的文字被压缩成一行。

如何在 roxygen2 文档中手动插入换行符?

0 投票
1 回答
483 浏览

r - R S4 roxygen2 文档

我在 S4 中使用 roxygen2 作为文档,由于某种原因,使用部分没有出现。我做了一个简单的例子来说明我的困惑:

0 投票
7 回答
3813 浏览

r - 可以为不在包中的对象创建 Rd 帮助文件吗?

我正在使用 Rstudio 简化 Sweave 和 R 进行数据分析,我将与其他分析师分享。为了使变量的编码非常清晰,最好有一个帮助文件,这样他们可以?myData在需要时调用并获得一个有用的文件。我喜欢 Rd 降价,并认为它实际上具有记录分析数据集的巨大潜力,包括总体摘要、按变量细分的变量以及如何运行一些探索性分析的示例。

如果您专门创建一个包,这样做很容易,但我认为这很令人困惑,因为包最终是函数的集合,并且它们不集成 Rnw 文件。

我可以使用 Roxygen2 为不属于任何包的数据集创建帮助文件吗?

0 投票
2 回答
1026 浏览

r - 如何在 Rstudio 中切换 roxygen 评论?

Roxygen 注释涉及在行前加上#'. 在为函数编写和测试示例时,能够打开和关闭注释非常好。我可以复制和粘贴代码来回转发到 vim 并删除或添加这些注释,但这不是很优雅。

  • 有没有简单的方法可以在 Rstudio 中切换 roxygen 评论?
  • 或者,是否有另一种方法可以有效地运行由 roxygen 注释字符注释掉的示例 R 代码?

更新:横向思考,我认为 using@example examples/foo.r是避免对实际示例代码使用 Roxygen 注释的另一种方法(即,通过从文件中获取示例,即,examples/foo.r)。

0 投票
1 回答
697 浏览

r - 使用 Roxygen 和 testthat,使内部辅助函数可用于 R CMD 检查期间调用的测试用例的正确方法是什么?

我正在创建一个 R 包,并发现将一个文件中的部分逻辑分解为我在同一个文件中定义的内部辅助函数很有用。我有一种特殊情况,我的函数通过match.fun(). 由于它们对其他功能或人员没有用处,因此我不想将它们放在单独的文件中,也不想导出它们。

我所有的测试案例都使用test_dir(). 当我不导出这些函数时,我的测试用例在 R CMD 检查期间失败。

看完这篇文章后,如果我明确地将导出条目导出或添加到 NAMESPACE,我就能让事情正常工作,但我又不想导出这些。

有没有更好的方法可以做到这一点并且不需要我导出?(我承认问题的根源可能是match.fun()并且对在运行时调用函数的其他方式持开放态度。)

0 投票
2 回答
2118 浏览

r - Roxygen 和建议的软件包

我正在开发一个roxygen2包含许多lattice基于可视化的包。这些很好,但对于使用包来说不是必需的,因此lattice列在文件的Suggests:部分DESCRIPTION而不是Depends:部分中。

但是,我还没有弄清楚如何以同时通过和lattice的方式根据用户的请求进行加载。以下两种方式都使看起来像一个未声明的依赖项,并将返回下面的错误。roxygenize()R CMD checklattice

两者都给出相同的错误

由于对“roxygen”一词与“suggests”、“depends”和“imports”的搜索返回了大量不相关的点击,我一直在寻找这个问题的答案,但没有成功。同时,我刚刚列出lattice了一些其他不错但非重要的包作为依赖项,但现在当我即将发布包时,我想以正确的方式解决它。

0 投票
1 回答
169 浏览

r - 在 RStudio 项目之外使用 roxygen2

我正在尝试在我的 R 代码中生成 roxygen2 注释,我目前没有使用 R 项目,而是使用 ProjectTemplate ( http://projecttemplate.net/ )。

我的问题是 roxygen2 似乎只能在项目中工作(希望我错了),因此当我运行命令时

我只是收到有关丢失DESCRIPTION文件的错误。如果我创建一个DESCRIPTION文件并 roxygenize('.')再次运行,代码将执行并创建一个/man/inst文件夹,但它是空白的。

有人可以告诉我是否可以在 R 项目之外使用 roxygen2 吗?

0 投票
0 回答
201 浏览

r - 如何在 S4 方法的 Rd 文件中使用 roxygen2 自动填充使用标签

我有一个包含 S3 和 S4 方法组合的包(是的,我知道,但尝试为 sort()、as.matrix() 等编写一个 S4 ......)。所以我坚持使用 CRAN 的经典 roxygen2(版本 2.2.2)

我注意到无论我尝试什么,我都无法自动填写 Rd 文件中的使用标签。我知道我可以使用@usage 手动执行此操作,但我希望保持自动化,因为我拥有相当广泛的代码库,并且我不想意外错过某个标签。

一个例子:

如果我将它包装在一个包中,使用 roxygen2(和 RStudio,如果这很重要)进行 roxygenize,并检查帮助文件,它看起来像这样:

找不到 \usage 部分...