gpt4 book ai didi

r - 将大型(3.9 磨机 obs)data.frames 导出到文本文件的最有效方法?

转载 作者:行者123 更新时间:2023-12-03 11:05:43 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Speeding up the performance of write.table

(6 个回答)


3年前关闭。




我在 R 中有一个相当大的数据框,我想将其导出到 SPSS。
这个文件首先让我在尝试将它导入到 R 时头疼了好几个小时,但是我成功地使用了 read.fwf()使用选项 comment.char="%" (文件中未出现的字符)和 fill= TRUE (它是一个固定宽度的 ASCII 文件,其中一些行缺少所有变量,从而导致错误消息)。

无论如何,我的数据框目前由 3,9 个工厂观察和 48 个变量(所有字符)组成。通过使用 df2 <- df[1:1000000,] 将其拆分为 4 x 1 磨机 obs 集,我可以相当快地将其写入文件。其次是 write.table(df2)等,但不能在没有计算机锁定并且需要硬重置才能恢复的情况下一次扫描写入整个文件。

多年来,在听到有关 R 如何不适合大型数据集的轶事之后,这是我第一次真正遇到此类问题。我想知道是否有其他方法(低级“转储”文件直接到磁盘?)或者是否有一些我不知道的包可以有效地处理这种类型的大文件的导出?

最佳答案

猜测是,您的机器内存不足,因此 R 不得不使用交换文件,这会减慢速度。如果你被付钱给代码,那么购买更多的 RAM 可能比你编写新代码更便宜。

也就是说,有一些可能性。您可以将文件导出到数据库,然后使用该数据库的功能写入文本文件。 JD Long 对 this question 的回答告诉你如何以这种方式读入文件;逆转这个过程应该不会太难。或者 bigmemoryff包(如戴维提到的)可用于编写此类文件。

关于r - 将大型(3.9 磨机 obs)data.frames 导出到文本文件的最有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9703068/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com