2011-10-12 160 views
32

我是新的使用R.我試圖用R中的現有數據將新行添加到文件。問題是我的數據大約有30000行和13000列。我已經嘗試用writeLines函數添加一行,但結果文件僅包含添加的行。將行添加到文件

+0

的可能的複製[文本的寫行中的R一個文件(http://stackoverflow.com/questions/2470248/write-lines-of-text-to -a-file-in-r) –

+1

@MichaelOhlrogge你確定這是個騙局嗎? Q [將文本行寫入R中的文件](http://stackoverflow.com/q/2470248/3817004)您鏈接的是關於將文本行寫入一般文件,而此Q特別詢問_appending_行以一個現有的文件。 – Uwe

+0

@UweBlock確實,但鏈接的Q在許多答案中討論了追加選項。 –

回答

58

您是否嘗試過使用write函數?

line="blah text blah blah etc etc" 
write(line,file="myfile",append=TRUE) 
+3

確保你不使用連接作爲文件,而只是放在文件路徑中,否則append不起作用! – Ansjovis86

+0

@ Ansjovis86你能詳細說一下「連接成文件」嗎? – munmunbb

+0

@munmunbb這僅在使用連接設置時纔有效。如果你沒有它,不要擔心。如果你有它,把它從你的代碼中刪除,這個答案將起作用。 – Ansjovis86

26

write.tablewrite.csv等都有append=參數,它附加append=TRUE通常覆蓋如果append=FALSE。所以你想要/必須使用哪一個取決於你的數據。

順便說一下,cat()也可以用來寫入文本到文件,也有append=參數。

+4

甚至'sink(append = TRUE)'。 –

+4

'貓'勝我想 – geotheory

0
lapply(listOfVector, function(anyNameofVect){ write(anyNameofVect, file="outputFileName", sep="\t", append=TRUE, ncolumns=100000) }) 

lapply(listOfVector, write, file="outputFileName", sep="\t", append=TRUE, ncolumns=100000)