我一直在这个网站上阅读,但无法找到确切的答案。如果它已经存在,我为重新发布而道歉。
我正在处理非常大的数据集(在具有 32 GB RAM 的计算机上,6 亿行,64 列)。我真的只需要这些数据的小得多的子集,但是除了简单地用 fread 导入一个数据集并选择我需要的 5 列之外,我还在努力执行任何功能。之后,我尝试用我需要的特定条件覆盖我的数据集,但我达到了我的 RAM 上限并收到消息“错误:无法分配 4.5 GB 的向量大小。我将 ff 和 bigmemory 包作为替代方案,但似乎就像你在导入这些包之前不能子集一样?除了升级计算机上的 RAM 之外,有没有解决这个问题的方法?
我正在尝试执行的任务:
>SampleTable<-fread("my.csv", header = T, sep = ",", select=c("column1", "column2", "column7", "column12", "column15"))
>SampleTable2<-SampleTable[SampleTable[,column1=="6" & column7=="1"]]
在这一点上,我达到了我的记忆上限。尝试使用另一个包但导入所有 64 列的 6 亿行会更好吗?我也不想仅仅为了执行一次导入而花费数小时。