【问题标题】:Negative Length Vectors Are Not Allowed不允许负长度向量
【发布时间】: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


【解决方案1】:

@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

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

我将尝试使用缩短的数据文件进行测试,看看它是否 (a) 有效并且 (b) 扩展了数据。还有其他建议吗?

【讨论】:

  • 请将此作为原始帖子的一部分。人们对这种类型的内容感到不安被包含在内作为答案。
猜你喜欢
  • 2019-10-14
  • 2017-07-17
  • 1970-01-01
  • 1970-01-01
  • 2021-11-11
  • 2022-07-19
  • 2016-08-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多