R:重塑/铸造内存错误

| 我有一张大桌子(x)要隐秘到矩阵(y)。 我使用了两个不同的命令。
x <- reshape(y, direction=\"wide\", v.names=\"column1\", 
             timevar=\"column2\", idvar=\"column3\")
要么
x <- cast(x, column1~column2)
等待几个小时后,出现错误消息。
 Error: cannot allocate vector of size 87 KB
另外:有50个或更多警告(使用warning()查看前50个) 当我输入
warnings()
时,我发现它在抱怨
Reached total allocation of 1535 Mb:
see help(memory.size)
在第二次试用中,我先输入\“
memory.size(TRUE)
”,然后出现一条消息:
[1] 12.88
然后,我再次进行分析。但是,出现相同的错误信息。 我正在Windows 2000上使用台式机。我正在使用R2.12.0 您能否让我知道是否有可能摆脱这个问题? 当我第一次输入
memory.size(TRUE)
\“ 12.88 \”时,您介意告诉我,这是否意味着R在第二次试用中就立即使用了所有12G物理内存?
已邀请:
在大多数Windows系统上,内存使用情况非常有限(以R为单位)。 您想查看memory.limit而不是memory.size的结果,然后还使用memory.limit对其进行更改。 在最佳情况下,您最多可以将其提高到4 Gb,这对于您的目的而言可能仍然太小(取决于操作系统的详细信息-显然,您的计算机具有足够的RAM,因此此处的物理内存不是问题(然而))。 有关更多信息,请参见rw-FAQ。
您确定有12GB的RAM或运行的是Windows 2000的64位版本吗?如果您阅读
?memory.size
,将会看到该值以字节为单位,而不是GB。 主消息指出您的物理内存已用完。警告中提到的1535MB数量表示一台具有2GB物理RAM的计算机或只能访问该数量或将这一数量分配给单个进程的OS。如果您确实有12GB的物理RAM,则需要在64位处理器上的64位Windows版本上运行64位R版本。所有这些都适用吗?例如,您可能正在具有2GB RAM或32位版本R的计算机上运行。 问题归结为耗尽R可以访问的可用RAM。解决该问题或将问题分解为较小的块,看看是否可以重塑每个较小的块然后将它们粘在一起。

要回复问题请先登录注册