Rdata文件的大小与csv相比

Ric*_*ico 6 csv r rdata

我的.Rdata文件的大小是92 MB.

但是,原始的csv文件大约是3 GB.我把它和通常一样包括在内read.csv()

怎么可能?

Dir*_*tel 5

评论已经暗示了正在发生的事情.但这很简单,让我们举一个例子:

R> X <- 1:1e5   # data, no repeats
R> save(X, file="/tmp/foo.RData")
R> write.csv(X, file="/tmp/foo.csv")
R> system("ls -l /tmp/foo*")
-rw-r--r-- 1 x y 1377797 Jun  4 09:11 /tmp/foo.csv
-rw-r--r-- 1 x y  212397 Jun  4 09:11 /tmp/foo.RData
Run Code Online (Sandbox Code Playgroud)

现在有重复的数据:

R> X <- rep(1,1e5)   # data, lots of repeats
R> write.csv(X, file="/tmp/bar.csv")
R> save(X, file="/tmp/bar.RData")
R> system("ls -lh /tmp/bar*")
-rw-r--r-- 1 x y 966K Jun  4 09:12 /tmp/bar.csv
-rw-r--r-- 1 x y 1.3K Jun  4 09:12 /tmp/bar.RData
R> 
Run Code Online (Sandbox Code Playgroud)

所以我们得到的比率为6.5到743,具体取决于压缩的程度.那是在我们通过强制打印几个小数来使csv更"昂贵"之前...