R data formats: RData, Rda, Rds etc

What are the main differences between .RData, .Rda and .Rds files?

More specifically:

  • Are there differences in compression etc?
  • When should each type be used?
  • How to convert one type to another?

  • Rda is just a short name for RData. You can just save(), load(), attach(), etc. just like you do with RData.

    Rds stores a single R object. Yet, beyond that simple explanation, there are several differences from a "standard" storage. Probably this R-manual Link to readRDS() function clarifies such distinctions sufficiently.

    So, answering your questions:

  • The difference is not about the compression, but serialization (See this page)
  • Like shown in the manual page, you may wanna use it to restore a certain object with a different name, for instance.
  • You may readRDS() and save(), or load() and saveRDS() selectively.

  • In addition to @KenM's answer, another important distinction is that, when loading in a saved object, you can assign the contents of an Rds file. Not so for 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
    
    链接地址: http://www.djcxy.com/p/38372.html

    上一篇: 将CSV文件制作成RData文件

    下一篇: R数据格式:RData,Rda,Rds等