2017-06-14 13 views
1

膨大な量のデータを生成していますが、実行中に選択した値のみを保存したいとします。しかし、それは常に最後の結果を保存します。たとえば、次のサンプルコードでは、常に自分の条件を満たす最後の結果を格納します。巨大なデータがあり、ベクターやリストに保存したくないのですが、すぐにファイルに保存したいと思います。あなたの助けが必要です。数値データをファイルに保存する

ありがとうございました。

f<-function(x) (x-1)*(x-5)*(x-10) 

fileE<-file("E.txt") 
for (i in seq(1,100,0.1)){ 
    if (f(i) > 0 && f(i) < 10) 
     writeLines(paste0(i," ",f(i)), fileE) 
} 
close(fileE) 

答えて

1

たぶんAPPENDでwriteを使用します。

unlink("E.txt") 

for (i in seq(1, 100, 0.1)){ 
    res <- f(i) 
    if (res > 0 & res < 10) 
    write(x = paste0(i, " ", res), file = "E.txt", append = TRUE) 
    } 
+0

これは動作しますが、私は再び私のシミュレーションを実行する場合、それは、以前の既存のファイルにデータを追加します。以前のデータを消去して新しいデータを追加するにはどうすればよいですか? – bell

+0

いいえ、以前のデータファイルに追加され、以前の内容は削除されません。 – bell

+1

'unlink'ファイルを実行して実行間で削除します。 (ループ内で 'if(i == 1)unlink(" E.txt ")') – Gregor

関連する問題