Format data R: RData, Rda, Rds dll


226

Apa perbedaan utama antara file .RData, .Rda dan .Rds?

Lebih spesifik:

  • Apakah ada perbedaan dalam kompresi dll?
  • Kapan setiap jenis digunakan?
  • Bagaimana cara mengubah satu tipe ke tipe lainnya?

Jawaban:


189

Rda hanyalah nama pendek untuk RData. Anda dapat menyimpan (), memuat (), melampirkan (), dll. Seperti yang Anda lakukan dengan RData.

Rds menyimpan satu objek R. Namun, di luar penjelasan sederhana itu, ada beberapa perbedaan dari penyimpanan "standar". Mungkin fungsi R-manual Tautan ke readRDS () ini mengklarifikasi perbedaan tersebut secara memadai.

Jadi, jawablah pertanyaan Anda:

  • Perbedaannya bukan tentang kompresi, tetapi serialisasi (Lihat halaman ini )
  • Seperti yang ditunjukkan pada halaman manual, Anda mungkin ingin menggunakannya untuk mengembalikan objek tertentu dengan nama yang berbeda, misalnya.
  • Anda dapat membacaRDS () dan menyimpan (), atau memuat () dan menyimpanRDS () secara selektif.

151

Selain jawaban @ KenM, perbedaan penting lainnya adalah, saat memuat objek yang disimpan, Anda dapat menetapkan konten Rdsfile. Tidak demikian halnya untukRda

> 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

Coba: x <- 1: 5 cetak (x) simpan (x, file = "x.Rda") rm (x) cetak (x) muat ("x.Rda") cetak (x)
Harlan Nelson

4
@ HarlanNelson mencobanya. Melakukan persis apa yang saya harapkan. Apa maksudmu
Gregor Thomas
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.