r - 如何修复 “Error: cannot allocate vector of size 265.6 Mb”

标签 r memory error-handling limit

我有一个很大的数据框列表(300个数据框,每个数据框有2列和300〜600行),我想将所有这些与

final <- subset %>% reduce(full_join, by = "Frame_times")

但是,当我尝试执行此操作时,出现以下错误:
Error: cannot allocate vector of size 265.6 Mb"

我正在最新安装的64位R(4.0.0)的64位Windows 10上运行。
我有8GB的RAM,并且
> memory.limit()
[1] 7974
> memory.size(max = TRUE)
[1] 7939.94

我也尝试了 gc()函数,但没有帮助。

看来我有足够的空间和内存来运行此功能,那么为什么会出现此错误?
我该如何解决?

非常感谢你!

最佳答案

您的RAM即将用完。解决问题的第一步可能是先在较小的数据帧子集(例如3)上运行此代码。结果(期望的是行数)是否是您期望的?如果是,并且确实在做正确的事情,那么分批执行(例如5批100)可能会有所帮助。听起来最可能的情况是由于某种原因,行或列的数量激增到比您预期的要大得多的数量。

错误中提到的266Mb只是最后一根稻草;而不是您正在使用的总内存。

关于r - 如何修复 “Error: cannot allocate vector of size 265.6 Mb”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62010904/

相关文章:

python - Pandas .resample() 方法的 R 等价物是什么?

r - 如何让 tidyr 完整地使用指定列的变量?

python - 逻辑回归内存错误

php - 引用 - 这个错误在 PHP 中意味着什么?

javascript - 如何获取在ExtJs上触发的最后一个事件

r - 使用 dplyr tidyr 在汇总表中保留输入变量和因子水平的顺序

R - 根据另一个嵌套列表中的值设置嵌套列表元素的名称

Python多线程内存占用高的问题

c - 静态变量的地址相同,但局部变量的地址不同

AngularJS:在生产中捕获错误堆栈