2011-06-12 91 views
19

我對R相當陌生,我一直在腳本文件中定義一些自己的函數。我打算讓其他人稍後再使用它們,並且我無法找到關於R函數註釋約定的任何指南。有沒有什麼辦法讓我help("my_function_name")顯示一些幫助?如果不是,我只是在腳本文件中記錄該函數,以便有人必須打印出(或打開源代碼)腳本以查看註釋?R中的函數註釋約定

感謝,

Hamy

回答

21

記錄您的功能並使其他人可以訪問的規範方法是製作一個包。爲了讓你的包通過構建檢查,你必須爲你的每個函數/數據集提供足夠詳細的幫助文件。

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

這個來自RobĴ海德門的博客文章是非常有用的,一個最簡單的,我搞不懂:http://robjhyndman.com/researchtips/building-r-packages-for-windows/

我使用roxygen協助製作&編譯軟件包爲已經開始最近的:http://roxygen.org/

很多優秀的資源和人在您遇到問題時提供幫助!

7

你將不得不把功能集成到一個封裝(這使得移植功能很容易)。我已經寫了一篇關於它的文章short post,其中有一些鏈接(我希望它們仍然有效)到一些擴展該主題的相關文檔。

您可以使用roxygen,inlinedocs「即時」生成幫助文件。

+1

這是一個roxygen回聲?回聲? – Chase 2011-06-12 20:57:19

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" 

然後,您可以通過使用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" 

從長遠來看,編寫自己的軟件包幾乎肯定值得花費和時間投入,但如果由於某種原因在短期內不可行 - 這是另一種選擇。

+0

+1我一直這樣做,特別是對於保存的工作空間和功能,這些工作空間和功能並不過分複雜,但您想要快速知道「他們的工作」。 – 2011-06-13 02:25:31