2014-01-26 322 views

回答

129

Rda只是RData的簡稱。您可以像保存RData一樣保存(),加載(),附加()等。

Rds店鋪一個 R對象。然而,除了這個簡單的解釋之外,與「標準」存儲有幾處不同之處。可能這個R-manual Link to readRDS() function充分闡明瞭這種區別。

所以,回答你的問題:

  • 的區別是不是壓縮,但序列化(見this page
  • 就像在手冊中顯示,您可以想用它來恢復某個對象以不同的名字爲例。
  • 您可以有選擇地讀取RDS()和save()或load()和saveRDS()。
107

除了@KenM的回答,另一個重要的區別是,當加載一個保存的對象時,你可以指定一個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