【发布时间】:2012-12-29 21:36:07
【问题描述】:
我正在尝试将多个文件合并到一个主文件中。有 5 个结构相同的文件,我可以毫无问题地将每个文件单独读入数据框中。我什至为 200 多个变量手动设置列类,而不是让 R 决定,因为我认为这是导致问题的原因。但是,将任意两个文件附加在一起会导致内存不足。
警告信息: 1:在 rbind(deparse.level, ...) 中: 已达到 4043Mb 的总分配:请参阅 help(memory.size)
所以我做了一些实验: 我将两个不同的文件 1 块连接在一起。这样可行。 我将文件 2 的一部分加入到文件 1 的一部分中。这行得通。 我将文件 2 的一大块加入到原始文件 1 中。这行得通。
每个文件的大小都略低于 200MB,所以我不确定我是否应该耗尽内存。如果有人感兴趣,数据来自hearstchallenge.com。比赛已经结束了,我们只是将数据用于分析实验(而不是编程!)。
对于如何解决这个问题有什么建议吗?
【问题讨论】:
-
+1 表示“泡菜的小菜”。您遇到的问题是 R 需要 4043 MB 的连续内存才能完成操作。我想你没有那么多闲钱。您可以尝试使用像
sed这样的命令行工具来加入R 之外的文件,或者像ff这样的大数据包之一。 -
write.table也有一个append选项。 -
> system("cat file1 file2 file3 file4 file5 >>big.ass.file") -
从
data.table包中查看rbindlist,我认为... -
糟糕——使用
shell将比使用system容易得多
标签: r memory-management append rbind