使用 "fread" 函数时出现错误“Reached total allocation...”

The Error " Reached total allocation..." when using "fread" function

我正在尝试使用 "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)

谁能解释一下这是什么意思,我应该怎么做才能避免这个错误?

谢谢!

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

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

成本较低的解决方案是分块处理数据集。

你会得到一些帮助here and also in this article