使用Roxygen2模板标签

时间:2013-02-26 21:57:13

标签: r roxygen roxygen2

有人可以提供一个如何在Roxygen2中正确使用模板标签的示例。我试图做最明显的事情(对我来说):

在我的packageName-package.R文件中:

 #' [... other Roxygen blocks ...]
 #' 
 #' @templateVar testTemplateTag Testing one two
 NULL

然后在文件someFunction.R

 #' [... other Roxygen blocks ...]
 #'
 #' @template testTemplateTag

我收到错误:

 Error : Can not find template testTemplateTag

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

感谢。

1 个答案:

答案 0 :(得分:29)

完美!谢谢@hadley。 GlyHub版本的plyr就是一个很好的例子。

我将在此描述未来溢出者的过程。

使用带有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] ...

3)现在,在其他roxygen2块中,您可以通过这种方式调用roxygen2代码的全部

 #' ... [other roxygen2 tags and information] ...
 #'
 #' @template someTemplate

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

查看plyr package on GitHub以查看Hadley使用man-roxygen\中存储的多个模板文件的巧妙方式,他可以混合搭配以创建文档。请看以下内容以获得想法:

在这些文件中查找@template的用法:

 R/aaply.r
 R/adply.r

在这里查看模板:

 man-roxygen/ply.r
 man-roxygen/a-.r
 man-roxygen/-a.r
 man-roxygen/-d.r