3

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

我刚刚浏览了一个 81K 列表(但必须以 30k 块运行它们),结果列表每个大约 700 mb。我已将它们存储为.rdata文件,但可能会将它们重新保存为.Rda. 但是每个文件都需要永远读入R. 这里是否有最佳实践,尤其是对于长期存储?

理想情况下,我会将所有内容都保留在一个列表中,但mclapply会抛出一个关于无法序列化向量的错误,并且这么大的工作将永远在集群上花费(分成 3 种方式,每个工作需要 3 小时)。但是有几个结果文件results1a.rdata,,,results2b.rdataresults3c.rdata似乎效率低下。

4

1 回答 1

4

听起来您在那里有几个不同的问题——我建议您在一个单独的问题中询问优化您的列表格式。

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

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

于 2012-06-14T23:42:24.300 回答