我已经阅读了几篇关于R语言内存问题的帖子,但似乎找不到解决我的问题的方法。
我正在对一个大数据集的多个子集进行类似LASSO回归的分析。对于某些子集,它可以正常运行,但对于一些更大的子集,会出现“无法分配大小为1.6Gb的向量”的错误。错误发生在以下代码行:
example <- cv.glmnet(x=bigmatrix, y=price, nfolds=3)
这也取决于“bigmatrix”中包含的变量数量。
我在Mac上尝试了R和R64,也在PC上尝试了R,但最近转到更快的Linux虚拟机上以避免任何内存问题。虽然memory.limit指示“Inf”,但情况有所改善,仍存在一些限制。
有没有办法让这个工作,或者我必须削减矩阵中的几个变量或取一个更小的数据子集?
我已经看过R正在寻找一些连续的内存位,也许我应该预先分配矩阵?有什么想法吗?