.rds和.rda(.Rdata的简称 )文件都可用于以R本机格式存储R对象。
1. 与非本机存储方法(例如write.table)相比,此保存方法有多个优点:
- 更紧凑,读取速度更快,并且可以存储任何类型的R数据结构。
- 它保持在数据中编码的R特定信息(例如,属性,变量类型等)。
2. .rds和.rda的区别:
-
1.保存和加载方式不同
RDS是用saveRDS和readRDS,Rdata使用save和load。 -
2.Rdata 可以保存多个对象,RDS仅处理单个R对象
saveRDS / readRDS仅处理单个R对象。但是,它们比多对象存储方法更灵活,因为还原对象的对象名称不必与存储对象时的对象名称相同。
⚠️保存Rdata的时候如果不写file=会报错(形参不能省略,可能是因为Rdata能保存多个数据,若不写file=,函数会把要保存的文件名当成要储存的对象,所以会报错找不到对象。)
#使用.rds文件保存iris数据集:
saveRDS(object = iris, file = "my_data_frame.rds")
#要将数据加载回:
iris2 <- readRDS(file = "my_data_frame.rds")
#要保存多个对象,我们可以使用save()和输出为.Rdata 。
#例如,保存2个数据集:
save(iris, cars, file = "myIrisAndCarsData.Rdata")
#载入:
load("myIrisAndCarsData.Rdata")
- Rdata不对数据进行压缩,保存文件的大小与实际大小类似,速度较快。RDS会先对文件进行压缩在保存,占用的内存空间较小。但因为压缩过程的存在,速度相对稍慢。
值得注意的是,.rds和.rda是与其他统计系统或软件不兼容的格式。 因此,无法以这种格式向未使用R的人发送数据。此外,会从一个R版本变为另一个版本(即使版本1.4之后保持兼容性)之后也可能会不兼容。
网友评论