roxygen2如何不运行示例文件

时间:2015-07-14 16:50:58

标签: r roxygen2

我很清楚当代码直接在roxygen注释中时,如何让roxygen不运行示例。但是,某些示例可能有点冗长,或者您希望在示例目录中编译示例。在这种情况下,@example file_path工作正常,但我无法弄清楚如何使roxygen不运行(即\dontrun)示例文件

这被认为与this问题非常相似,但评论显示此问题未得到解答。

test.R

# this does not work
#' @title test_fun
#' @example \dontrun{examples/test_example.R}
test <- function(){
    print("hello")
}

# this does
#' @title test
#' @examples 
#' \dontrun{
#' test()
#' }
test <- function(){
    print("hello")
}

test_example.R

test()

如何让前一种方法起作用?

2 个答案:

答案 0 :(得分:2)

似乎我可以通过对示例文件中的\dontrun{}块使用roxygen2样式的注释来实现此目的。这解决了Michal's answer中的限制。

创建一个如下所示的示例文件:

#' \dontrun{
test()
#' }

更可靠的是,您可以将示例包装在if(interactive()) {}块中,该块在检查期间不会运行,但允许您手动运行该示例。

答案 1 :(得分:0)

我认为只要您将\dontrun添加到示例脚本中就行了,所以test_example.R看起来像这样:

\dontrun{
test()
}

即使现在示例脚本不能直接source d,因为\dontrun不是R表达式......