【发布时间】:2011-12-10 05:07:28
【问题描述】:
我希望解决 R 的“无法分配大小的向量...”问题,以便在 R 中加载大型数据集,有人可以帮我吗? 我听到有人说要写“--max-vsize=500M”,但我不明白在哪里写。 非常感谢!!
【问题讨论】:
-
--max-vsize=500M是一个命令行参数。如果你从命令行启动R,你可以通过R --max-vsize=500M来使用它。
我希望解决 R 的“无法分配大小的向量...”问题,以便在 R 中加载大型数据集,有人可以帮我吗? 我听到有人说要写“--max-vsize=500M”,但我不明白在哪里写。 非常感谢!!
【问题讨论】:
--max-vsize=500M 是一个命令行参数。如果你从命令行启动R,你可以通过R --max-vsize=500M来使用它。
你也许可以清理你的工作区,你可以使用 gc() 函数来完成(即垃圾收集)
按照这些思路,这将告诉您对象的大小,因此您可以删除不再需要的对象
object.sizes <- function(obs=ls(envir=.GlobalEnv))
{
return(rev(sort(sapply(obs, function (object.name) object.size(get(object.name))))))
}
pie(object.sizes(), main="Memory usage by object")
【讨论】:
“The R Inferno”的第 15 页(http://www.burns-stat.com/pages/Tutor/R_inferno.pdf)提供了三种可能,当您收到此类消息时该怎么做:
一种非常常见的浪费内存的方法是增加对象——这就是地狱之环 2。
如今,“更大的计算机”可能意味着转向 64 位。
【讨论】: