Rda只是RData的简称。 你可以像保存RData一样保存(),load(),attach()等。
RDS存储一个R对象。 然而,除了这个简单的解释之外,与“标准”存储有几处不同之处。 readRDS()函数的这个R-manual链接可能充分地阐明了这种区别。
所以,回答你的问题:
区别不在于压缩,而在于序列化(见本页 )
如手册页所示,例如,您可能想要使用它来恢复具有不同名称的某个对象。
您可以select读取RDS()和save(),或者加载()和saveRDS()。
除了@KenM的回答之外,另一个重要的区别是,当加载一个保存的对象时,你可以分配一个Rds文件的内容。 对于Rda不是这样的
x <- 1:5 > save(x, file="x.Rda") > saveRDS(x, file="x.Rds") > rm(x) ## ASSIGN USING readRDS > new_x1 <- readRDS("x.Rds") > new_x1 [1] 1 2 3 4 5 ## 'ASSIGN' USING load -- note the result > new_x2 <- load("x.Rda") loading in to <environment: R_GlobalEnv> > new_x2 [1] "x" # NOTE:
load()
simply returns the name of the objects loaded. Not the values. > x [1] 1 2 3 4 5