我有一个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)。
答案 0 :(得分:1)
.Rdata
help file扩展了MAPK的评论并注意到:
通过压缩可以大大减小大文件的大小。一个特定的46MB R对象在2秒内没有压缩就保存为35MB,在8秒内使用gzip压缩22MB,在13秒内使用bzip2压缩为19MB,在40秒内使用xz压缩为9.4MB。加载时间分别为1.3秒,2.8秒,5.5秒和5.7秒。这些结果是指示性的,但相对性能确实取决于实际文件:xz在这里压缩异常。
可以稍后压缩(使用gzip,bzip2或xz)使用compress = FALSE保存的文件:效果与使用压缩保存相同。此外,保存的文件可以在不同的压缩方案下解压缩和重新压缩(有关从R中执行此操作的方法,请参阅resaveRdaFiles)。