2

data.table在硬盘上保存了 3000 万行和 15 列(大小 177 MB,文件 1)。

我将这些数据加载到 R 中,对其进行处理,然后再添加 8 列(行保持不变)并将其再次保存为.RData文件,但这次它的大小已减小(144 MB,文件 2)。

这怎么可能?.RData如果我添加了更多列,文件的大小不应该增加吗?

编辑:初始文件是 data.table(在 R 中),我将它作为 .RData 存储在硬盘上(文件 1、177 MB)。然后我将它重新加载到 R 中,对其进行处理,添加更多列(行保持不变)并将其保存回来(文件 2,144 MB)。

4

1 回答 1

1

.Rdata帮助文件扩展了 MAPK的评论并指出:

通过压缩可以显着减小大文件的大小。一个特定的 46MB R 对象在 2 秒内被保存为 35MB 未压缩,22MB 使用 gzip 压缩在 8 秒内保存,19MB 使用 bzip2 压缩在 13 秒内保存,9.4MB 使用 xz 压缩在 40 秒内保存。加载时间分别为 1.3、2.8、5.5 和 5.7 秒。这些结果是指示性的,但相对性能确实取决于实际文件:xz 在这里压缩得非常好。

可以稍后(使用 gzip、bzip2 或 xz)压缩使用 compress = FALSE 保存的文件:效果与使用压缩保存相同。此外,保存的文件可以在不同的压缩方案下解压缩和重新压缩(请参阅 resaveRdaFiles 以了解从 R 中执行此操作的方法)。

于 2016-03-22T12:24:29.230 回答