1
我想将全局工作区图像保存在R函数中,但正在运行到一个范围界定问题。这里有一个如何这可能工作的例子:如何将工作区图像保存到R函数中的指定位置
rm(list=ls())
SaveData <- function(fname) {
# I have to use save instead of save.image due to separate constraints
save(list=ls(), file=fname, envir=.GlobalEnv)
}
# Test
x <- 1
SaveData("~/SaveDataTest.RData")
rm(list=ls())
load("~/SaveDataTest.RData")
ls() # Would look for this to include x
的SaveData("~/SaveDataTest.RData")
线虽然引发以下错误:
Error in save(list = ls(), file = fname, envir = .GlobalEnv) :
object ‘fname’ not found
这表明,我认为通过envir=.GlobalEnv
到save
功能的全功能的环境切换到。 GlobalEnv。我怎么能解决这个问题?
为什么你指定'envir'? 'ls()'似乎是多余的。至少它适用于我,如果我删除'envir'。这与save.image()有什么不同? –
删除'envir'只会保存该函数的工作区。关于'save.image()',我正在处理单独的技术限制(在这里描述的过于单调),这限制了我'保存'。 –
具体来说,你会看到如果你删除'envir',最后的'ls()'调用将不会显示'x'。 –