使用 roxygen2 忽略脚本

ignore script with roxygen2

我正在写一个在服务器上做一些工作的包。我有一个更新 table 的脚本,但我的意图不是 运行 手动且不经常更新它。它不是一个需要进入命名空间或任何东西的函数,只是一个脚本。

问题是当我调用 roxygen2::roxygenize() 时它 运行 是这个脚本并且需要一段时间才能 运行 这在我尝试开发交互功能时非常烦人.我知道我可以在我的文档中的示例周围添加 \donotrun{} 但这在这种情况下并不太有意义。有没有办法告诉 roxygen 不要费心执行这个?

我考虑过将其设为一个函数,这样执行它就可以定义函数体,但这似乎有点偏题。

任何建议都很好

对于新访客,这不是 roxygen 文档中的函数代码;为此,最好用 \donotrun 包围它,如

#' @examples
#' \donotrun{
#' something_goes_here()
#' }
myfunction <- function(...) {

不过,在这种情况下,它在包本身中包含了一些文件。

  1. 您放置在 ./inst/ 目录中的文件会随包一起安装,但它们不会被假定为 R 脚本(或任何东西)。这方面的权威参考以"Writing R Extensions"Section 1.1.5 Package sub-directories开头。这将在通过 install.packages(...).

  2. 安装软件包的每台计算机上安装文件
  3. 如果你想要包 source 中的某些东西但不想随包本身一起安装,我建议你将一个文件放在包的根目录下命名为 .Rbuildignore(参考:相同 link,现在是第 1.3.2 节构建包 tarball)。与这些模式匹配的文件将不会包含在包 tarball 中。将实际文件放在 ./inst/ 中还是其他任何地方完全取决于您:如果它在 .Rbuildignore 文件中,那么它将从 tarball 中排除(因此 seen/findable最终用户)。