R耗尽大数据集的内存

时间:2015-03-07 20:52:43

标签: r

我在PC上运行我的代码,我不认为我的RAM有问题。 当我执行此步骤时:

dataset <- rbind(dataset_1, dataset_2,dataset_3,dataset_4,dataset_5)

我得到了

  

错误:无法分配大小为261.0 Mb的矢量

dataset_1直到dataset_5每次观察大约有500万次。

有人可以建议如何解决这个问题吗? 非常感谢你!

2 个答案:

答案 0 :(得分:0)

R,作为matlab,将所有数据加载到内存中,这意味着您可以快速耗尽RAM(特别是对于大数据集)。我能看到的唯一选择是对数据进行分区(即仅加载部分数据),对该部分进行分析,并在加载下一个块之前将结果写入文件。

在您的情况下,您可能希望使用Linux工具来合并数据集。 假设您有两个文件dataset1.txtdataset2.txt,您可以使用shell命令joincatawk合并它们。

更一般地说,使用Linux shell工具解析大数据集通常要快得多,并且需要的内存要少得多。

答案 1 :(得分:0)

有几个可用的软件包可以解决High Performance Computing CRAN taskview下的问题。例如,请参阅&#34;大内存和内存不足数据&#34;,ff包。