我正在尝试使用" 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)
有人能解释一下这意味着什么,我该怎么做才能避免这个错误呢?
谢谢!
答案 0 :(得分:0)
错误消息实际上是直接原因。您正在尝试将30Gb文件读入4Gb的RAM。昂贵的解决方案是将您的机器升级到32GB RAM。
不幸的是,R始终将整个环境保存在RAM中。
较便宜的解决方案是以块的形式处理数据集。
您会找到一些帮助here以及this article