【发布时间】: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 用户总是那么乐于助人:)