错误"达到总分配......"当使用" fread"功能

时间:2015-02-17 01:12:44

标签: r data.table fread

我正在尝试使用" fread"读取4Gb .txt文件功能:

mydata<-fread("myfile.txt")

但阅读后我收到以下错误:

Error: cannot allocate vector of size 193.8 Mb
In addition: Warning messages:
1: In lapply(globals, function(name) { :
  Reached total allocation of 4095Mb: see help(memory.size)
2: In lapply(globals, function(name) { :
  Reached total allocation of 4095Mb: see help(memory.size)

有人能解释一下这意味着什么,我该怎么做才能避免这个错误呢?

谢谢!

1 个答案:

答案 0 :(得分:0)

错误消息实际上是直接原因。您正在尝试将30Gb文件读入4Gb的RAM。昂贵的解决方案是将您的机器升级到32GB RAM。

不幸的是,R始终将整个环境保存在RAM中。

较便宜的解决方案是以块的形式处理数据集。

您会找到一些帮助here以及this article