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'。 –