如何增加R中的内存

时间:2018-01-08 11:01:38

标签: r memory memory-management

我在Windows 7 64位上运行R 64位。在运行我的脚本时,我收到一条错误消息,无法分配大小为x的向量(在我的情况下大约为200MB)。我的data.frame有大约200,000行,而不是更多。如果没有足够的存储空间来分配另一个向量,怎么可能呢? 我知道操作本身是有效的,因为脚本使用较小的子集化文件。

我也知道之前已经问过这个问题,但没有一个答案解决了我的问题。有很多不同的答案 - 哪一个是正确的?它与系统的RAM或R的存储器有关吗?

我手动增加了内存大小:

memory.limit()
# set max memory usage is 2G
memory.size(max=10000)

然后r表示内存限制为10.000

memory.limit()
[1] 10000 

但仍然存在相同的错误。它甚至与无法分配的矢量大小相同。

我清理了我的电脑并在我的驱动器上设置了更多空间。但它也没有改变任何东西。

依赖于什么是内存大小,我该如何增加它?

1 个答案:

答案 0 :(得分:0)

就像人们一直在评论时,人们需要查看您的实际代码以获得更具体的答案。

但是,您可以考虑的一些常规事项是:

i)在辅助/中间对象/结果中使用脚本中的remove()rm()函数

ii)阅读gc()函数的帮助,该函数明确触发垃圾收集(通常不需要,但有些情况下这是合理的)