我想知道是否有人遇到过这个问题。我正在将相当少量的数据写入csv文件。这大约是30行,50次。
我使用for循环将数据写入文件。
它似乎“挑剔”,有时操作成功完成,有时在前10次(300行)后停止,其他时间3次或5次...告诉我
“无法打开连接”。
我想这是某种类型的超时。有没有办法让R在写表的时候“慢下来”?
在你问之前:这里的代码太多了,无法提供一个例子。
发布于 2010-09-30 06:54:13
我无法在Windows 7 64位的R 2.11.1 32位上重现它。对于这类问题,请提供有关您的系统的更多信息(例如,请参阅?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“相同。
发布于 2010-09-30 06:25:07
尽管你反对,代码还是有帮助的。R有一个固定大小的连接池,我怀疑您的连接即将耗尽。
因此,请确保遵循以下三个步骤
使用connection
https://stackoverflow.com/questions/3826022
复制相似问题