使用Roxygen2模板标签

pol*_*ist 22 r roxygen roxygen2

有人可以举例说明如何正确使用模板标签Roxygen2.我试图做最明显的事情(对我来说):

在我的packageName-package.R档案中:

 #' [... other Roxygen blocks ...]
 #' 
 #' @templateVar testTemplateTag Testing one two
 NULL
Run Code Online (Sandbox Code Playgroud)

然后在someFunction.R文件中

 #' [... other Roxygen blocks ...]
 #'
 #' @template testTemplateTag
Run Code Online (Sandbox Code Playgroud)

我收到错误:

 Error : Can not find template testTemplateTag
Run Code Online (Sandbox Code Playgroud)

我试图有一个地方来记录通常重复的定义示例等.当这些东西嵌套在我一直在使用的一组函数中时@inheritParms.但有些东西,如定义和其他描述,在几个地方使用.我已经搜查高和低的使用@template@templateVar并没有发现任何东西.

谢谢.

pol*_*ist 33

完善!谢谢@hadley.Plyr的GitHub版本就是一个很好的例子.

我将在此描述未来溢流器的过程.

使用带有Roxygen2的模板

1)您应该创建一个文件夹来保存模板: man-roxygen/

2)每个模板都是一个存在的.R文件man-roxygen/

例如: man-roxygen/someTemplate.R

 #' ... [other roxygen2 tags and information] ...
 #'
 #' @param someParm A parameter that is used in several functions.
 #'
 #' ... [more roxygen2 tags and information] ...
Run Code Online (Sandbox Code Playgroud)

3)现在,在其他一些roxygen2块就可以调用所有说的roxygen2这种方式的代码.

 #' ... [other roxygen2 tags and information] ...
 #'
 #' @template someTemplate
Run Code Online (Sandbox Code Playgroud)

4)当您使用模板时,您将获得someTemplate.R文件中的所有内容.

查看GitHub上plyr包,看看Hadley使用多种模板文件的巧妙方式man-roxygen\,他可以混合搭配来创建文档.请看以下内容以获得想法:

寻找@template在这些文件中的使用:

 R/aaply.r
 R/adply.r
Run Code Online (Sandbox Code Playgroud)

看看这里的模板:

 man-roxygen/ply.r
 man-roxygen/a-.r
 man-roxygen/-a.r
 man-roxygen/-d.r
Run Code Online (Sandbox Code Playgroud)

  • 这不再适用于roxygen2(> = 4.0.1).您需要删除模板名称中的`.R`.所以,下面的_will_工作```@template someTemplate```. (5认同)
  • 您是否有机会了解我们何时/何时可以使用@templateVar标签? (2认同)
  • 这是使用@templateVar的示例。文件[man-roxygen / graph_template.R](https://github.com/USCCANA/netdiffuseR/blob/master/man-roxygen/graph_template.R)定义了一个依赖于`dyngraph`的参数图,模板为在文件[R / stats.R](https://github.com/USCCANA/netdiffuseR/blob/6b1a7b81a530a882947679d198e65ba5eb3c4ff1/R/stats.R#L4-L7)中使用并生成文件[dgr.R](https: //github.com/USCCANA/netdiffuseR/blob/6b1a7b81a530a882947679d198e65ba5eb3c4ff1/man/dgr.Rd#L20-L28)。HIH (2认同)