【问题标题】:What are the main differences between R data files?R数据文件之间的主要区别是什么?
【发布时间】:2014-02-17 15:48:01
【问题描述】:

.RData.Rda.Rds 文件之间的主要区别是什么?

  • 压缩等方面有区别吗?
  • 应在何时使用每种类型?
  • 如何将一种类型转换为另一种类型?

【问题讨论】:

    标签: r r-faq rdata rda


    【解决方案1】:

    除了@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
    

    【讨论】:

    • @HarlanNelson 试过了。完全符合我的预期。你的意思是什么?
    【解决方案2】:

    Rda 只是 RData 的简称。您可以像使用 RData 一样进行 save()、load()、attach() 等操作。

    Rds 存储一个单个 R 对象。然而,除了这个简单的解释之外,与“标准”存储还有几个不同之处。可能这个R-manual Link to readRDS() function 充分阐明了这些区别。

    所以,回答你的问题:

    • 区别不在于压缩,而在于序列化(见this page
    • 如手册页所示,您可能希望使用它来恢复具有不同名称的特定对象。
    • 您可以选择性地读取 RDS() 和 save(),或 load() 和 saveRDS()。

    【讨论】:

      猜你喜欢
      • 2015-04-06
      • 2010-09-06
      • 2015-08-22
      • 2015-08-06
      • 2011-03-06
      • 2013-12-23
      • 2017-04-28
      • 2011-04-14
      相关资源
      最近更新 更多