2015-02-11 27 views
2

我正在使用stat transfer将数据集从SAS文件格式转换为R格式。 SAS中的文件大约为489mb,转换为Rdata时为520mb。鉴于该文件是一个4090222 x 11“单元格”的数据框,我想这种差异可以在一定程度上解释。R中的数据集文件大小,可能的开销?

但是,当我打开转换后的数据集,并要求R保存它,530mb下降到120mb,我真的不知道如何以及为什么发生这种情况。我怀疑数据丢失(因为调整大小如此显着),但据我所知,这没有发生。

我试过all.equal返回TRUE。事实上,我尝试的所有事情都告诉我数据集确实是平等的......但它不会加起来?

我是否犯了一些巨大的错误?

编辑:看到格雷戈尔点下面,“问题”解决了!

+2

保存到磁盘时,使用压缩。我不认为有一个很大的谜。 – Andrie 2015-02-11 18:43:34

+0

请参阅'?save'。如果你想要一个更大的文件,你可以设置'compress = F'或者设置'compression_level'为一个小于缺省值9的整数。 – Gregor 2015-02-11 18:49:11

+0

另请参见[本博客条目](http://www.econometricsbysimulation.com/2014/ 03/it-is-time-for-rdata-files-to-become.html)比较各种统计语言数据格式的压缩。 – Gregor 2015-02-11 18:50:59

回答

3

只是把我的意见变成一个答案:当将其保存为.RData,实际上相对于其他统计编程语言,如this blog entry证明确实它令人印象深刻的工作

[R压缩数据。

所以答案是没有,你不应该担心。