我使用dump()
命令在R中转储一些数据帧。
特定的转储文件大约为200 MB,其中一个大约为1.5 GB。后来我尝试使用source()
检索它们,这需要花费很多时间并且说3-4个小时后窗口停止工作。我在Windows 7中使用64位R 3.0.0(我也在R 2.15.3中尝试过),内存为48 GB。对于其中一个文件,它抛出了一些内存错误,(我现在没有日志)但是从大约15个数据集中加载了4-5个数据集。
如果我知道名字,有什么办法可以加载特定的数据集吗? 或者还有其他方式吗?
我已经吸取了教训,可能会保存命令来创建数据和原始数据。或一个转储文件(或R图像文件)中的一个数据
谢谢
答案 0 :(得分:6)
使用save()
和load()
而不是dump()
和source()
。
save()
将数据的二进制表示写出到.Rdata
文件,然后可以使用load()
加载回来。
dump()
将所有内容转换为文本表示形式,然后source()
必须重新转换回二进制文件。该过程的两端非常效率低下。