R中的函数注释约定

时间:2011-06-12 20:47:19

标签: r conventions commenting

我对R很新,我一直在脚本文件中定义一些自己的函数。我打算让其他人以后重新使用它们,我找不到任何关于R函数注释约定的指南。我有什么方法可以让help("my_function_name")显示一些帮助吗?如果没有,我是否只是在脚本文件中记录该功能,以便有人打印出(或打开源代码)脚本以查看注释?

谢谢,

Hamy

3 个答案:

答案 0 :(得分:21)

记录您的功能并让其他人可以访问的规范方法是制作一个包。为了使您的包能够通过构建检查,您必须为每个功能/数据集提供足够详细的帮助文件。

查看http://cran.r-project.org/doc/manuals/R-exts.html#Creating-R-packages

Rob J Hyndman撰写的这篇博文非常有用,也是我最容易关注的内容之一:http://robjhyndman.com/researchtips/building-r-packages-for-windows/

我开始使用roxygen协助制作&最近编译包:http://roxygen.org/

当你有疑问时,有很多好的资源和帮助的人!

答案 1 :(得分:15)

您可以查看的另一个(和更低的键)替代方法是comment()attr()函数,以便为您的函数添加一些元数据。这是一个快速而愚蠢的例子:

FOO <- function(x,y) {
 x + y 
}

attr(FOO, "comment") <- "FOO performs simple addition"

#This can be arbitrary. "comment" is special. see ?comment for details.
attr(FOO, "help") <- "FOO expects two numbers, and it will add them together"

然后,您可以使用FOO

查看与attributes()相关联的所有内容
> attributes(FOO)
$source
[1] "function(x,y) {" " x + y "         "}"              

$comment
[1] "FOO performs simple addition"

$help
[1] "FOO expects two numbers, and it will add them together"

或提取特定部分:

> attr(FOO, "help")
[1] "FOO expects two numbers, and it will add them together"
attr(FOO, "comment")
[1] "FOO performs simple addition"

如果是评论,请使用comment()

> comment(FOO)
[1] "FOO performs simple addition"

从长远来看,编写自己的软件包几乎肯定值得花费开销和时间,但如果由于某种原因在短期内不切实际 - 这是另一种选择。

答案 2 :(得分:7)

您必须将函数放入包中(这使得移植功能非常简单)。我刚刚写了一篇关于它的short post链接(我希望它们仍然可以工作)到一些扩展这个主题的相关文档。

您可以使用roxygeninlinedocs“动态”生成帮助文件。