【问题标题】:Memory shortage when using MICE in R在 R 中使用 MICE 时内存不足
【发布时间】:2013-04-26 07:53:53
【问题描述】:

我正在尝试使用 MICE 包在 R 中创建多个插补,但 kepp 内存不足。 这是我收到的错误消息:

Error: cannot allocate vector of size 219 Kb
In addition: Warning messages:
1: In unlist(vlist, recursive = FALSE, use.names = FALSE) :
  Reached total allocation of 6500Mb: see help(memory.size)
2: In unlist(vlist, recursive = FALSE, use.names = FALSE) :
  Reached total allocation of 6500Mb: see help(memory.size)  

我使用 64 位 R 和 windows 7 和 8 Gb 内存。我已经尝试增加实际内存,并且允许使用内存大小 R 分别为 8 Gb 和 6.5 Gb,但它仍然不起作用。目前,我正在尝试对包含 27 000 行和 17 列的数据集进行插补,但我希望在具有 1 600 000 行和 17 列的更大数据上使用。

有人可以帮助我吗?将不胜感激。

/杰斯珀

【问题讨论】:

  • 上次我尝试过,插补是内存密集型的。您可以尝试使用较小的数据吗?您还可以从任务管理器跟踪内存使用情况,并检查它是如何随时间增加的。
  • 你可以使用像ff和snow这样的包。减少内存使用。或者尝试在 R 中使用包进行并行编程。这使您能够使用多个内核。 R 默认使用 1 个核心。
  • 我减少了数据框中的预测变量和列的数量,这使我能够处理足够大的数据集。也许我会尝试 ff 包。非常感谢你!! R 用户总是那么乐于助人:)

标签: r r-mice


【解决方案1】:

检查当前内存限制(以 Mb 为单位)尝试

memory.limit(size = NA)

为了最大化它(相对于您的 8Gb RAM)尝试

memory.limit(size = 8190)

另外,在运行任何内存密集型函数之前,不要忘记调用gc() 几次。如果它仍然不起作用,请确保关闭任何其他活动的应用程序,重新启动 R 并执行上述操作。如果这不能解决您的问题,请尝试利用其他软件包的功能,例如 ff、snow 和 bigmemory。

【讨论】:

    猜你喜欢
    • 2018-06-04
    • 2013-01-24
    • 1970-01-01
    • 2012-03-19
    • 2020-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多