2014-01-26 2 views

ответ

129

Rda - это просто краткое название RData. Вы можете просто сохранить(), load(), attach() и т. Д. Так же, как и с RData.

Rds хранит одиночный R объект. Тем не менее, помимо этого простого объяснения, существует несколько отличий от «стандартного» хранилища. Вероятно, это R-manual Link to readRDS() function достаточно четко разъясняет такие различия.

Так, отвечая на ваши вопросы:

  • Разница не о сжатии, но сериализации (см this page)
  • Как показано на странице руководства, вы можете хотите использовать его, чтобы восстановить определенный объект с другим именем, например.
  • Вы можете читать RDS() и сохранять() или загружать() и сохранятьRDS() выборочно.
107

В дополнение к ответу @ 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 
Смежные вопросы