在分析结束时,我想保存一些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)
或类似的。