2012-06-14 20 views
3

我通过大量参数组合(20-40k)模拟合理大小的数据集(10-20mb)。通过mclapply推送每个数据集x参数集,结果为list,其中每个项目包含输出数据(如列表项目1)以及用于生成列表项目2(其中该列表的每个元素都是参数)的参数。什么是存储由R生成的大型结果的理想格式?

我刚刚跑过一个81K列表(但必须以30k块运行它们),结果列表每个大约700 MB。我将它们存储为.rdata文件,但可能会将它们重新保存到.Rda。但每个文件需要永久读入R。这里是否有最佳做法,特别是对于长期储存?

理想情况下,我会将所有内容保存在一个列表中,但mclapply会抛出关于无法序列化向量的错误,以及这个大型作业会永久占用集群(分裂3种方式,花费3个小时/作业)。但有几个结果文件results1a.rdata,results2b.rdata,results3c.rdata也似乎效率低下。

回答

4

这听起来像你有几个不同的问题 - 我建议询问关于在单独的问题中优化你的列表格式。

关于读/写R数据到磁盘,但是,我不确定在效率方面有没有比Rda文件更好的方法。 但是,我发现压缩级别可能会影响根据计算设置读取/写入这些文件所花费的时间。我通常发现,使用无压缩功能可以获得最佳性能(save(x,file="y.Rda", compress=FALSE))。

作为备份计划,您可以尝试保持压缩状态,但也可以改变压缩级别。

+1

另一种选择是'saveRDS',它可以让你用不同的名字恢复对象。 – mnel

相关问题