2017-06-14 70 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

也許使用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