2011-09-06 63 views
2

使用我用獲得的在R包的功能列表,乳膠

library(help="stats")$"info"[[2]] 

以獲取可用功能的列表以及它們在stats描述。我想用xtable來製作一張表,用於LaTex的Sweave

我用讀該命令:

library(xtable) 
xtable(library(help="stats")$"info"[[2]]) 

,並得到了以下錯誤消息:

Error in UseMethod("xtable") : 
    no applicable method for 'xtable' applied to an object of class "character" 

我會非常感激,如果有人指導我做到這一點。提前致謝。

+1

關於SO的問題應該解決一個具體問題,而不是簡單地要求人們爲你做點事情。首先嚐試,當你卡住了,然後問。 – joran

+0

謝謝喬蘭。我嘗試過,並在卡住後,我發佈的問題。謝謝 – MYaseen208

回答

2

這裏是我做的帕特里克建議的任務(之前我看到了他的答案):

library(xtable) 
library(Hmisc) # for latex() 
tst<-library(help="stats")$"info"[[2]] 
tdf <- data.frame(namefn = unlist(lapply(
          strsplit(sub("\\s+", "\t", tst), "\t"), 
          "[", 1)), 
        descrb = unlist(lapply(
          strsplit(sub("\\s+", "\t", tst), "\t"), 
          "[", 2))) 
xdf <- xtable(tdf) 
latex(xdf, longtable=TRUE) 

你可能會想要重命名該數據幀的列,但這個確實得到你所需要的多頁乳膠輸出以適應您指定的300多個線路輸出。

+0

謝謝很多迪文。 – MYaseen208

+0

優秀的答案,就是我一直在尋找的東西。注意:'xtable'實際上有一個選項可以自己生成乳膠表,'xtable(tdf,type =「latex」)應該可以做到。也可以使用選項(xtable.type =「latex」)進行設置,這對於切換輸出格式非常有用,無需編輯代碼。 – cboettig

3

錯誤表明xtable沒有接受character等對象的方法,例如您的輸入。根據the documentation for the xtable library,xtable接受data.frame對象(等等),並且還允許您爲不同對象擴展庫。您可以從methods(xtable)中看到接受對象的列表。

所以我的建議是將數據從library(help="stats")$"info"[[2]]加載到數據框中,並將其傳遞給xtable