以是否存在为条件保存R个对象



在分析结束时,我想保存一些R环境对象。然而,当我重用这个脚本时,有些对象并不存在。我不想每次都编辑save语句,所以我希望脚本能够适应对象不存在的情况。我正在努力让这个工作与exist虽然。

save(if(exists("object1")) {object},
if(exists("object2")) {object2},
file = "./my_saved_environment/saved_objects.RData")

使用save(file=...)和字符向量,intersect与您想要的变量。例如:

ls()
# [1] "airquality" "aqm"        "dat"        "mydata"    
intersect(ls(), c("mydata", "quux"))
# [1] "mydata"                                # quux does not exist
save(list = intersect(ls(), c("mydata", "quux")), file = "quux.rda")

如果我们看一下.rda文件,这是保存的内容:

e <- new.env(parent = emptyenv())
load("quux.rda", envir = e)
ls(envir = e)
# [1] "mydata"

你也可以用编程的方式来保存对象列表,也许使用grep("^mydata.*", ls(), value=TRUE)或类似的。

相关内容

  • 没有找到相关文章

最新更新