3

我有一个生成模拟数据并将其写入 csv 文件的功能。这工作正常,但在函数完成之前它不会写出文件。我希望它在每个 for 循环的末尾写一个文件。非常感谢任何提示。

截断的代码块:

for (m in 1:M){

simulation code....

write.csv(userDF, file=filename, row.names=FALSE) 
} 
4

2 回答 2

4

有一个flush功能。您可能需要引用某种连接类型的东西

for (m in 1:M){
  simulation code....
  filx=file("filename")
  write.csv(userDF, file=filx, row.names=FALSE) 
  flush(filx)
} 
于 2013-01-25T20:00:04.437 回答
0

我这样做是为了在每次迭代时附加到同一个不断增长的文件中。它肯定是在写每个循环!

library(readr)
startfile=TRUE  
for(index in 1:9){

  ... # make your dataframe here

  ## The first time through the loop, don't append. 
  ## Also, this will write the column names

  write_csv(as.data.frame(result),"result.csv", append=!startfile)

  ## On subsequent iterations, append your dataframe to the file
  startfile=FALSE
  } 

于 2019-07-30T20:55:03.617 回答