255

とファイル.RDataの主な違いは何ですか?.Rda.Rds

  • 圧縮などに違いはありますか?
  • 各タイプはいつ使用する必要がありますか?
  • あるタイプを別のタイプに変換するにはどうすればよいですか?
4

2 に答える 2

209

Rda は RData の略称です。RData と同じように、save()、load()、attach() などを実行できます。

Rds は単一のR オブジェクトを格納します。しかし、その単純な説明を超えて、「標準」ストレージとはいくつかの違いがあります。おそらく、このR マニュアルの readRDS() 関数へのリンクは、そのような区別を十分に明確にします。

だから、あなたの質問に答える:

  • 違いは圧縮に関するものではなく、シリアル化に関するものです (このページを参照してください)
  • マニュアルページに示されているように、たとえば、特定のオブジェクトを別の名前で復元するために使用したい場合があります。
  • RDS() と save()、または load() と saveRDS() を選択的に読み取ることができます。
于 2014-01-26T22:53:18.393 に答える
168

@KenMの答えに加えて、もう1つの重要な違いは、保存されたオブジェクトにロードするときに、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
于 2014-01-26T23:21:21.493 に答える