我如何解决R中的内存限制问题

时间:2019-05-28 10:25:45

标签: r memory

我在r中有2个数据帧,并且尝试合并它们时出现错误:错误:无法分配大小为565.3 Mb的向量

如果我检查:memory.limit()

  

memory.limit()   [1] 1.759219e + 13

我的PC 8GB RAM。

我该怎么解决这个问题?

1 个答案:

答案 0 :(得分:1)

如果需要在R中合并大型数据帧,一个不错的选择是将其分成10000行。如果要合并数据帧x和y,请遍历10000行x,将y合并(或使用plyr :: join),然后立即将这些结果附加到单个csv文件中。将所有片段合并并写入文件后,读取该csv文件。正确使用逻辑索引向量以及适当放置的rm和gc调用,这将非常节省内存。但这不是很快。