我在r中有2个数据帧,并且尝试合并它们时出现错误:错误:无法分配大小为565.3 Mb的向量
如果我检查:memory.limit()
memory.limit() [1] 1.759219e + 13
我的PC 8GB RAM。
我该怎么解决这个问题?
答案 0 :(得分:1)
如果需要在R中合并大型数据帧,一个不错的选择是将其分成10000行。如果要合并数据帧x和y,请遍历10000行x,将y合并(或使用plyr :: join),然后立即将这些结果附加到单个csv文件中。将所有片段合并并写入文件后,读取该csv文件。正确使用逻辑索引向量以及适当放置的rm和gc调用,这将非常节省内存。但这不是很快。