【发布时间】:2018-02-08 08:19:42
【问题描述】:
我有一个类似的问题...
Merge error : negative length vectors are not allowed
但是,我将两个文件(每个 3 列,每个 13 亿行)合并为一列,并且出现了类似的错误:
Negative length vectors are not allowed.
对此的建议答案是没有足够的内存,但是,我在具有 3TB 内存的系统上运行这些(它告诉我达到的最大值为 247 GB)。这仍然可能是由于内存问题,还是有其他原因?是否值得减少这些数据框并合并它们?
感谢您的建议。
最好的祝愿, 娜塔莉
【问题讨论】:
-
列是否完全匹配?有重复吗?您知道合并后的记录数吗? R 只会报告它尝试分配的最后一个向量的内存错误,而不是 R 使用的总内存,因此错误消息很少给出完整的图片。如果没有在这种情况下很难创建的可重现示例,真的不可能确定发生了什么。
-
还有其他类似的问题表明这可能是由于在
merge期间在by中引用了重复项。 stackoverflow.com/q/42479854/8382207 -
ID 中的重复值可能会导致合并的 data.frame 的大小爆炸。考虑在两个数据集中重复 4 次的 ID。最终的 data.frame 可能是原始数据的 16 倍。
-
@NatalieStephenson - 我没有检查您在帖子中分享的问题。它与我在上面的评论中的相同。我的错。
-
@lmo 谢谢你的建议......我的评论太大了,所以我添加了它作为答案。
标签: r