2011-10-12 2 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 Trueですが、リンクされたQは多くの答えで追加オプションについて説明します。 –

答えて

58

write機能を試しましたか?

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

を引っ込めますが、あなたはファイルとして接続を使用しないでくださいが、ファイルパスに入れてください。そうでなければ追加は機能しません! – Ansjovis86

+0

@ Ansjovis86あなたは "ファイルとしての接続"についてもっと詳しく説明できますか? – munmunbb

+0

@munmunbbこれは、接続設定を使用する場合のみです。あなたがそれを持っていない場合は心配しないでください。もしあなたがそれを持っているなら、あなたのコードからそれを落とすと、この答えがうまくいくでしょう。 – Ansjovis86

26

write.tablewrite.csvなどすべてがappend=TRUEを追加append=引数を有し、通常append=FALSE場合は上書きされます。だから、あなたが使いたい/使用しなければならないものは、あなたのデータに依存します。

ちなみに、cat()は、ファイルにテキストを書き込むために使用することもでき、append=引数も持っています。

+4

また、 'シンク(append = TRUE)'もあります。 –

+4

'cat'が勝てると思う – 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) 
関連する問題