В чем основные отличия между файлами .RData,.Rda и .Rds?
Более конкретно:
Существуют ли различия в сжатии и т.д.
Когда следует использовать каждый тип?
Как преобразовать один тип в другой?
Ответ 1
Rda - это просто краткое имя для RData. Вы можете просто сохранить(), load(), attach() и т.д. Так же, как вы делаете с RData.
Rds хранит один объект R. Тем не менее, помимо этого простого объяснения, существует несколько отличий от "стандартного" хранилища. Вероятно, эта R-ручная ссылка на функцию readRDS() достаточно четко разъясняет такие различия.
Итак, отвечая на ваши вопросы:
Разница заключается не в сжатии, а в сериализации (см. на этой странице)
Как показано на странице руководства, вы можете использовать его для восстановления определенного объекта с другим именем, например.
Вы можете читатьRDS() и сохранять() или загружать() и сохранятьRDS() выборочно.
Ответ 2
В дополнение к ответу @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