R中的函数注解约定

bwitn5fc  于 2023-11-14  发布在  其他
关注(0)|答案(4)|浏览(106)

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

kyks70gy

kyks70gy1#

  • 2019年12月更新此问题,因为自2011年最初编写以来,R宇宙已发生变化 *

我推荐的资源现在是http://r-pkgs.had.co.nz/

  • 原始答案(链接大多已过时)*

记录你的函数并使它们对其他人可访问的规范方法是制作一个包。为了让你的包通过构建检查,你必须为你的每个函数/数据集提供足够详细的帮助文件。
查看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/
有很多很好的资源和人来帮助当你有问题!

8ehkhllq

8ehkhllq2#

另一个(也是更低调的)替代方法是comment()attr()函数,可以向函数中添加一些Meta数据。下面是一个简单的示例:

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"

字符串
然后,您可以使用attributes()查看与FOO相关的所有内容:

> 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"


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

u1ehiz5o

u1ehiz5o3#

你将不得不把函数放到一个包中(这使得移植函数非常容易)。不久前我写了一个关于它的short post,其中包含一些扩展主题的相关文档的链接(我希望它们仍然有效)。
您可以使用roxygeninlinedocs“即时”生成帮助文件。

whhtz7ly

whhtz7ly4#

如果你不是在构建一个包,你可以使用docstring包,它提供了与Python的docstring类似的功能。

library(docstring)

square <- function(x){

    #' Square a number
    #'
    #' Calculates the square of the input
    #'
    #' @param x the input to be squared

    return(x^2)
}

字符串
您可以通过调用?square .

output来查看注解
This tutorial可能会有帮助。

相关问题