Formatos de datos R: RData, Rda, Rds, etc.


226

¿Cuáles son las principales diferencias entre los archivos .RData, .Rda y .Rds?

Más específicamente:

  • ¿Hay diferencias en la compresión, etc.?
  • ¿Cuándo se debe usar cada tipo?
  • ¿Cómo convertir un tipo a otro?

Respuestas:


189

Rda es solo un nombre corto para RData. Puede guardar (), cargar (), adjuntar (), etc. tal como lo hace con RData.

Rds almacena un solo objeto R. Sin embargo, más allá de esa simple explicación, hay varias diferencias con respecto a un almacenamiento "estándar". Probablemente esta función R-manual Link to readRDS () aclara tales distinciones suficientemente.

Entonces, respondiendo a sus preguntas:

  • La diferencia no está en la compresión, sino en la serialización (Ver esta página )
  • Como se muestra en la página del manual, puede utilizarlo para restaurar un determinado objeto con un nombre diferente, por ejemplo.
  • Puede leer RDS () y guardar (), o cargar () y guardar RDS () selectivamente.

151

Además de la respuesta de @ KenM, otra distinción importante es que, al cargar un objeto guardado, puede asignar el contenido de un Rdsarchivo. No es así paraRda

> 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

Prueba: x <- 1: 5 print (x) save (x, file = "x.Rda") rm (x) print (x) load ("x.Rda") print (x)
Harlan Nelson

44
@HarlanNelson lo intentó. Hice exactamente lo que esperaba. ¿Cual es tu punto?
Gregor Thomas
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.