存储R生成的大结果的理想格式是什么?

时间:2012-06-14 23:10:56

标签: r bigdata mclapply

我通过大量参数组合(20-40k)模拟合理大小的数据集(10-20mb)。每个数据集x参数集都通过mclapply推送,结果是list,其中每个项目包含输出数据(作为列表项1)和用于生成该结果的参数作为列表项2(其中每个元素)该列表是一个参数)。

我刚刚浏览了81K列表(但必须以30k块运行它们),结果列表各自大约700 MB。我已将它们存储为.rdata个文件,但可能会将其重新保存为.Rda。但是每个文件都需要永远被读入R。这里有最好的做法,特别是长期存放吗?

理想情况下,我会将所有内容保存在一个列表中但mclapply会抛出一个错误,指出无法序列化向量,并且这个大型工作将永远占用集群(分3种方式,需要3小时/工作)。但是,拥有多个结果文件results1a.rdataresults2b.rdataresults3c.rdata似乎效率低下。

1 个答案:

答案 0 :(得分:4)

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

关于将R数据读/写到磁盘,我不确定在效率方面有比Rda文件更好的方法。 然而,我发现压缩级别可以对读取/写入这些文件所需的时间量产生实际影响,具体取决于计算设置。我通常发现使用无压缩(save(x,file="y.Rda", compress=FALSE))可以获得最佳性能。

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