2012-10-07 61 views
2

xtable輸出中,如果我想要某些行中沒有任何內容,我會將NA的元素放入與我想要跳過的行對應的元素中。xtable包:跳過輸出中的某些行

但是,這將導致類似& & & & & & & & \\的xtable輸出。我想知道的是,我該如何做到這一點,所以我只希望跳過那一行\\

+0

我不認爲你可以欺騙xtable做到這一點。作爲一個利益問題:爲什麼? – vaettchen

+0

因爲我在我的作品中生成了大量的表格。我這樣做的方法是在記事本++中,在我的.txt的頂部準備好rownames,在.txt的底部我複製〜80行xtable輸出,按住'alt'(突出顯示錶格) ,剪切(ctrl + X),轉到.txt的頂部,左鍵單擊最頂層的rowname,空格鍵20次,然後按CTRL + V。通過這種方式,我可以自動構建一個非常大的表格,並且所有多列都已就位。除了'&&&&''因爲'\ multicolumn'佔據太多列以外, – Jase

+0

如果你不知道如何去做,那我該如何編輯'xtable()'函數?如果我可以編輯函數然後在最後我可以執行grep()搜索'&&&&'並替換行(也許)。 – Jase

回答

4

仍然不確定我是否理解,但我給它一個鏡頭。

我在這裏所做的最重要的假設是,該模板中的多列行始終處於相同位置。您可以使用R在這些行中創建沒有(有用)數據的矩陣或數據框。

就本示例而言,多列行是80行的數據框中的15,30和60,對應於您的80行的模板。

你可以做什麼:在R,完全消除那些NA行,以便我們的數據幀現在只有77行。

您插入空行對通過xtable模板與

> addtorow <- list() 
> addtorow$pos <- list() 
> addtorow$pos[[1]] <- c(14,29,59) 
> addtorow$command <- "\\\\ \n" 
> print(xtable(o), add.to.row = addtorow, include.rownames=FALSE) 

這應該給你空行,沒有&\\,因此是你在找什麼?

+0

@Harokitty如果你接受這個作爲獨立回答一個獨立的問題將是很好的... – vaettchen

+0

一個最有幫助的解決方案! –

0

如果您想要更大的靈活性,您可以使用xtablewriteLines的組合來構建表格。讓xtable將第一部分寫入文件(print.xtable,file = "bla.txt"),然後用writeLines寫入\\,並繼續使用xtable。爲了防止兩次寫入標題,請將only.contents設置爲TRUE。請在撥打電話print.xtablewriteLines時設定append等於TRUE