2012-02-08 42 views
3

可能重複:
R help page as object我如何從R的幫助命令中提取文本?

我可以做

temp <- help('ls') 

但我不能得到這個對象的句柄。除了打電話之外,我不覺得裏面有很多肉嗎? unclassstr,attributes似乎並沒有引導任何地方。

我想,例如,

(1)提取的幫助下lsDetails部分的文本;和

(2)將所有文本解壓縮爲一個大字符串。

任何想法?謝謝

+3

是你的問題一樣[如何寫的幫助內容從R內的文件?(http://stackoverflow.com/questions/7493843/how-to -write - 內容 - 的 - 幫助到一個文件由內而外地-R)? – 2012-02-08 11:57:21

+1

還請檢查:http://stackoverflow.com/questions/8918753/r-help-page-as-object/8928894#8928894 – 2012-02-08 12:54:39

+0

是的,這些基本上是相同的問題。我之前沒有在我的搜索中找到他們。我應該關閉還是刪除? – 2012-02-08 19:27:01

回答

5

help本身不返回任何有用的東西。要獲得幫助文本,您可以閱讀包的幫助數據庫的內容,並解析它。

extract_help <- function(pkg, fn = NULL, to = c("txt", "html", "latex", "ex")) 
{ 
    to <- match.arg(to) 
    rdbfile <- file.path(find.package(pkg), "help", pkg) 
    rdb <- tools:::fetchRdDB(rdbfile, key = fn) 
    convertor <- switch(to, 
     txt = tools::Rd2txt, 
     html = tools::Rd2HTML, 
     latex = tools::Rd2latex, 
     ex = tools::Rd2ex 
) 
    f <- function(x) capture.output(convertor(x)) 
    if(is.null(fn)) lapply(rdb, f) else f(rdb) 
} 

pkg是字符串給予包
fn的名稱是字符串給予該封裝內的功能的名稱。如果它保留爲NULL,那麼將返回該包中所有函數的幫助。
to將幫助文件轉換爲txt,tml或其他。

用法示例:

#Everything in utils 
extract_help("utils") 

#just one function 
extract_help("utils", "browseURL") 

#convert to html instead 
extract_help("utils", "browseURL", "html") 

#a non-base package 
extract_help("plyr") 
+0

謝謝,我會看看這個。 – 2012-02-08 19:24:00

1

help()函數有一個參數叫help_type,它可以採用以下參數:「text」,「html」,「postscript」,「ps」和「pdf」。運行help(ls, help_type = "text")是否有助於解決您的問題?

+0

實際上沒有這是默認值。但是,謝謝你的建議! – 2012-02-08 19:22:52