2017-08-30 113 views
0

我有这一个类似的问题...负长度向量是不允许

Merge error : negative length vectors are not allowed

不过,我一列合并两个文件(每3列,每列13亿行)和有一个类似的错误:

Negative length vectors are not allowed. 

建议的答案是,有没有足够的内存,但是,我与3TB内存(其中它告诉我的最大的系统达到上运行这些被247 GB)。这是否仍然可能是由于记忆问题,还是有其他东西在起作用?值得减少这些数据框并合并它们吗?

感谢您的任何建议。

最良好的祝愿, 娜塔莉

+1

列是否完全匹配?有重复吗?合并后您有关于记录数量的想法吗? R只会报告它试图分配的最后一个向量的内存错误,而不是R所使用的总内存,所以错误消息很少会给出整个图像。如果没有一个在这种情况下难以创造的重现性例子,确实无法确定发生了什么。 – MrFlick

+1

还有其他类似的问题,表明它可能是由于'merge'期间在'by'中引用重复项。 https://stackoverflow.com/q/42479854/8382207 – Sagar

+0

ID中的重复值可能会导致合并的data.frame的大小爆炸。考虑两个数据集中重复4次的ID。与原始数据相比,最终的数据帧可以是行数的16倍。 – lmo

回答

0

@lmo @Sagar @MrFlick有在我合并由列重复。每个样品,已在多个不同成分的改变,从而会看起来像

Sample Component Value 
a     x     -1 
a     y     1 
b     x     0 ... 

我添加的生存资料本该仅指样品,所以我非常喜欢有

Sample Component Value  Survival 
a     x     -1   0.8 
a     y     1   0.8 
b     x     0   0.2 

我以为合并会提供这个...我错了,在这个假设?将样本名称合并的生存数据添加到此会导致数据条目进一步重复?我不确定如何最好地尝试执行此操作。

我会尝试使用缩短的数据文件进行测试,以查看它是否工作并(b)扩展数据。还有其他建议吗?

+0

请把它作为您的原始文章的一部分。人们对这种类型的内容感到不安是包含在内的答案。 – lmo