我想知道是否有其他人遇到过这个问题。我正在向csv文件写入相当少量的数据。这是大约30行,50次。
我正在使用for循环将数据写入文件。
似乎“挑剔”有时操作成功完成,有时它会在前十次(300行)之后停止3次或5次...告诉我
“无法打开连接”。
我想这是某种类型的超时。有没有办法告诉R在写表时“减速”?
在你提问之前:这里提供一个例子的代码太多了。
答案 0 :(得分:3)
因此,请确保遵循
的三个步骤答案 1 :(得分:2)
我无法在Windows 7 64位的R 2.11.1 32bit上重现它。对于这类内容,请提供有关您系统的更多信息(例如?R.version
,?Sys.info
)
内存比磁盘访问快很多。 1500行在内存中几乎可以管理,并且可以一次写入文件。如果是不同的数据集,请添加一个额外的因子变量来指示集合(set1到set50)。您可以在一个数据帧中轻松管理所有数据,避免多次访问磁盘。
如果真的是50个文件,这段代码说明了Dirk的宝贵建议:
for(i in 1:50){
...
ff <- file("C:/Mydir/Myfile.txt",open="at")
write.table(myData,file=ff)
close(ff)
}
另请参阅帮助:?file
编辑:你应该使用open =“at”而不是open =“wt”。 “at”是追加模式。 “wt”是写作模式。 append = T与open =“at”相同。