首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >write.table(...,append=T):无法打开连接

write.table(...,append=T):无法打开连接
EN

Stack Overflow用户
提问于 2010-09-30 05:30:52
回答 2查看 3.9K关注 0票数 4

我想知道是否有人遇到过这个问题。我正在将相当少量的数据写入csv文件。这大约是30行,50次。

我使用for循环将数据写入文件。

它似乎“挑剔”,有时操作成功完成,有时在前10次(300行)后停止,其他时间3次或5次...告诉我

“无法打开连接”。

我想这是某种类型的超时。有没有办法让R在写表的时候“慢下来”?

在你问之前:这里的代码太多了,无法提供一个例子。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-30 06:54:13

我无法在Windows 7 64位的R 2.11.1 32位上重现它。对于这类问题,请提供有关您的系统的更多信息(例如,请参阅?R.version?Sys.info )

内存比磁盘访问快得多。1500行在内存中非常容易管理,并且可以一次写入文件。如果是不同的数据集,则添加一个额外的因子变量来指示该数据集(从set1到set50)。您的所有数据都可以在一个数据帧中轻松管理,并且您不必多次访问磁盘。

如果它真的适用于50个文件,下面的代码说明了Dirk的宝贵建议:

代码语言:javascript
复制
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“相同。

票数 2
EN

Stack Overflow用户

发布于 2010-09-30 06:25:07

尽管你反对,代码还是有帮助的。R有一个固定大小的连接池,我怀疑您的连接即将耗尽。

因此,请确保遵循以下三个步骤

使用connection

  • close connection打开连接(并检查是否有错误)并写入

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3826022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档