在R中达到内存分配

时间:2014-08-21 06:40:49

标签: r

尝试查看650,000KB的RData文件,并且该机器有8GB RAM但仍然出现此错误:

达到7758Mb的总分配:请参阅help(memory.size)

  

视图错误:无法分配大小为54.6 Mb的矢量

由于尺寸的原因,我最初使用Read.table导入了这个文件(2.5GB)。使用的代码:

A <- read.table(file.choose(),header = TRUE, sep= "|",  fill = T, nrows = 9000000, stringsAsFactors = T)
save(A, file ="A.RData")
load("A.RData")
View(A)

1 个答案:

答案 0 :(得分:0)

根据您文件的大小,我建议您使用ffffbase个包,然后直接从read.table.ffdf的文本文件中读取。这样可以通过将数据保留在硬盘驱动器上来规避内存需求,但是对它进行操作就像在RAM中读取一样。不幸的是,目前没有为ffdf实现的功能很多,所以根据您想要的建模,您可能需要编写自己需要的工具实现。

除此之外,您可以尝试设置一个hadoop群集并使用rhadoop或其他东西,但我并不是真正的权威。