美文网首页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