【问题标题】:How can i solve memory limit issue in r [duplicate]我如何解决r中的内存限制问题[重复]
【发布时间】:2019-10-13 20:37:51
【问题描述】:

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

如果我检查:memory.limit()

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

我的电脑 8GB 内存。

我可以做些什么来解决这个问题??

【问题讨论】:

  • 您确定您正确指定了要加入的列吗?如果您想要加入的列中有重复数据,则数据可能会很快增长得非常大。

标签: r memory


【解决方案1】:

如果您需要在 R 中合并大型数据框,一个不错的选择是分块进行,例如 10000 行。如果您要合并数据帧 x 和 y,则循环 10000 行 x 片段,与 y 合并(或者更确切地说使用 plyr::join)并立即将这些结果附加到一个单独的 csv 文件中。将所有片段合并并写入文件后,读取该 csv 文件。通过正确使用逻辑索引向量和正确放置的 rm 和 gc 调用,这非常节省内存。不过速度并不快。

【讨论】:

  • 我没有考虑过这个解决方案,它对我有用。谢谢
  • 你可以通过标记标志来接受解决方案
猜你喜欢
  • 2021-12-24
  • 1970-01-01
  • 2022-06-28
  • 2020-04-13
  • 2011-05-28
  • 1970-01-01
  • 2011-03-21
  • 2020-01-01
  • 2019-10-30
相关资源
最近更新 更多