R veri formatları: RData, Rda, Rds vb.


226

.RData, .Rda ve .Rds dosyaları arasındaki temel farklar nelerdir?

Daha spesifik olarak:

  • Sıkıştırma vb. Farklar var mı?
  • Her tip ne zaman kullanılmalıdır?
  • Nasıl bir tür diğerine dönüştürmek için?

Yanıtlar:


190

Rda, RData için kısa bir isimdir. RData'da olduğu gibi kaydedebilir (), load (), attach (), vb.

Rds tek bir R nesnesini saklar . Yine de, bu basit açıklamanın ötesinde, "standart" bir depolamadan birkaç fark vardır. Muhtemelen bu R-kılavuzu ReadRDS () işlevi bu tür ayrımları yeterince açıklığa kavuşturmaktadır.

Sorularınızı cevaplamak için:

  • Fark sıkıştırma ile ilgili değil, serileştirme ile ilgili ( Bu sayfaya bakınız )
  • Manuel sayfada gösterildiği gibi, örneğin farklı bir ada sahip belirli bir nesneyi geri yüklemek için kullanmak isteyebilirsiniz.
  • RDS () 'i okuyabilir ve kaydedebilir () veya yükleyebilir () ve saveRDS () seçerek yükleyebilirsiniz.

151

@ KenM'nin cevabına ek olarak, bir başka önemli ayrım da kaydedilmiş bir nesneye yüklerken bir Rdsdosyanın içeriğini atayabileceğinizdir . Öyle değilRda

> 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

Deneyin: x <- 1: 5 baskı (x) kaydetme (x, dosya = "x.Rda") rm (x) baskı (x) baskı ("x.Rda") baskı (x)
Harlan Nelson

4
@ HarlanNelson denedi. Tam olarak ne beklediğim yaptı. Ne demek istiyorsun?
Gregor Thomas
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.