R формати даних: RData, Rda, Rds тощо


226

Які основні відмінності між файлами .RData, .Rda та .Rds?

Більш конкретно:

  • Чи є відмінності в стисненні тощо?
  • Коли слід використовувати кожен тип?
  • Як перетворити один тип на інший?

Відповіді:


189

Rda - це лише коротке ім'я для RData. Ви можете просто зберегти (), завантажити (), приєднати () і т. Д. Так само, як це робиться з RData.

Rds зберігає один об'єкт R. Однак, крім цього простого пояснення, є кілька відмінностей від "стандартного" сховища. Ймовірно, ця R-посібник Посилання на readRDS () достатньо уточнює такі відмінності.

Отже, відповідаючи на ваші запитання:

  • Різниця полягає не в стисненні, а в серіалізації (Див. Цю сторінку )
  • Як показано на сторінці керівництва, ви можете використовувати його для відновлення певного об'єкта, наприклад, з іншою назвою.
  • Ви можете читатиRDS () і зберігати (), або завантажувати () і зберігатиRDS () вибірково.

151

Окрім відповіді @ 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

Спробуйте: x <- 1: 5 print (x) save (x, file = "x.Rda") rm (x) print (x) load ("x.Rda") print (x)
Harlan Nelson,

4
@HarlanNelson спробував це. Зробив саме те, що я очікував. Який твій погляд?
Грегор Томас
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.