R formaty danych: RData, Rda, RDS itp

Jakie są główne różnice między .RData,Rda i .Pliki Rds?

Dokładniej:

  • czy są różnice w kompresji itp?
  • Kiedy należy stosować każdy typ?
  • Jak przekonwertować jeden typ na inny?
 167
Author: David Arenburg, 2014-01-27

2 answers

Rda to tylko krótka nazwa dla RData. Możesz po prostu zapisać (), załadować (), załączyć (), itp. tak jak z RData.

RDS przechowuje pojedynczy obiekt R. Jednak poza tym prostym wyjaśnieniem istnieje kilka różnic w stosunku do" standardowej " pamięci masowej. Prawdopodobnie to R-ręczne łącze do funkcji readRDS () wystarczająco wyjaśnia takie rozróżnienia.

Więc odpowiadając na twoje pytania:

  • różnica Nie dotyczy kompresji, ale serializacji (Patrz ta strona )
  • Jak pokazano na stronie podręcznika ekranowego, możesz użyć go do przywrócenia określonego obiektu o innej nazwie, na przykład.
  • można odczytywać() i zapisywać(), lub ładować() i oszczędzać() selektywnie.
 144
Author: KenM,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-26 22:53:18

Oprócz odpowiedzi @KenM, inną ważną różnicą jest to, że podczas ładowania zapisanego obiektu można przypisać zawartość pliku Rds. Nie tak dla 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
 123
Author: Ricardo Saporta,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-19 20:48:25