美文网首页R语言 生信
如何安全地load多个RData?

如何安全地load多个RData?

作者: 周运来就是我 | 来源:发表于2020-07-07 22:26 被阅读0次

    朴素地说,RData可以存多个R变量;rds一般只存一个R变量。

    如:

    # Saving on object in RData format
    save(data1, file = "data.RData")
    # Save multiple objects
    save(data1, data2, file = "data.RData")
    # To load the data again
    load("data.RData")
    

    有时候在我们需要Loda数据的时候,如果Loda的RData中的变量名与当前的变量名有重复,就会导致被覆盖。这回引起一些不容易发现的bug。

    那么该如何避免呢?就是每次Loda的时候,给load里面的数据匹配上相应的环境空间。昨天在逛Rbolg的时候,发现一位大佬,也谈到了这个问题,并给出了解决方案:

      LoadToEnvironment <- function(RData, env = new.env()){
        load(RData, env)
        return(env) 
      }
    

    这样在load的时候,我们就可以:

     iris.env <- LoadToEnvironment('iris.RData')
      daisy.env <- LoadToEnvironment('daisy.RData')
      iris.fit <- iris.env$fit1
      daisy.fit <- daisy.env$fit1
      # Compare iris.fit and daisy.fit
    

    相当于,给每个RData穿一个外衣。怎么样漂漂亮吗?

    Safe Loading of RData Files
    Saving Data into R Data Format: RDS and RDATA

    相关文章

      网友评论

        本文标题:如何安全地load多个RData?

        本文链接:https://www.haomeiwen.com/subject/atrtcktx.html