R压缩地将大数据帧保存到硬盘驱动器
我需要将R中的一些大数据帧保存到硬盘上。由于每个DF的尺寸相当大~>50K行和>50列,并且我有超过200K的DF,因此我想压缩保存它们以节省一些硬盘空间R压缩地将大数据帧保存到硬盘驱动器,r,csv,compression,gzip,R,Csv,Compression,Gzip,我需要将R中的一些大数据帧保存到硬盘上。由于每个DF的尺寸相当大~>50K行和>50列,并且我有超过200K的DF,因此我想压缩保存它们以节省一些硬盘空间 到目前为止,我尝试了两种类型,如.CSV、rds compress=gzip,它们分别需要约60MB和20MB。我想知道是否有其他方法可以更有效地压缩它们 除非您的数据具有某种非常特殊的结构,否则我认为您不能比saveRDS做得更好。您可以通过使用一种替代压缩选项获得约10%的优势;下面,我使用xz压缩而不是gzip从12.7M压缩到10.5
到目前为止,我尝试了两种类型,如.CSV、rds compress=gzip,它们分别需要约60MB和20MB。我想知道是否有其他方法可以更有效地压缩它们 除非您的数据具有某种非常特殊的结构,否则我认为您不能比saveRDS做得更好。您可以通过使用一种替代压缩选项获得约10%的优势;下面,我使用xz压缩而不是gzip从12.7M压缩到10.5M。在我的示例中,CSV是43M 树立榜样:
set.seed(101)
m <- matrix(runif(5e4*50),ncol=50)
我不认为你能比saveRDS做得更好,除非你的数据有一些非常特殊的结构。您可以通过使用一种替代压缩选项获得约10%的优势;下面,我使用xz压缩而不是gzip从12.7M压缩到10.5M。在我的示例中,CSV是43M 树立榜样:
set.seed(101)
m <- matrix(runif(5e4*50),ncol=50)
c_opts <- c("gzip","bzip2","xz")
ss <- sapply(c_opts,
function(c) {
saveRDS(m,compress=c,file="tmp.rds")
return(file.info("tmp.rds")["size"])
})
unlist(c(csv=s_csv,ss))/2^20
## csv.size gzip.size bzip2.size xz.size
## 43.28464 12.69796 11.32605 10.46269