R - 在函数内保存图像未加载
R - Saving image within function is not loading
下面的代码可以用现有的 SoStuck
对象加载:
Im <- c(1,2,3,4)
Stuck <- c(6,7,8,9)
SoStuck <- data.frame(Im, Stuck)
save.image("image.RData")
然后我退出这个会话并开始另一个会话。我这样做:
load("image.RData")
有效:
SoStuck
Im Stuck
1 1 6
2 2 7
3 3 8
4 4 9
但是,如果我这样做:
myfunction <- function()
{
Im <- c(1,2,3,4)
Stuck <- c(6,7,8,9)
SoStuck <- data.frame(Im, Stuck)
save.image("image.RData")
}
myfunction()
重启R,加载再调用没有找到对象:
load("image.RData")
SoStuck
Error: object 'SoStuck' not found
我也在那个循环中尝试了 return(save.image("image.RData"))
并得到了同样的错误。
如果文件保存在函数中,有人知道我需要更改什么才能加载文件吗?谢谢。
根据 save.image
的文档,"save.image() is just a short-cut for ‘save my current workspace’, i.e., save(list = ls(all.names = TRUE), file = ".RData", envir = .GlobalEnv)."
因此,为了让您的功能正常工作,您可以像这样修改代码:
myfunction <- function()
{
Im <- c(1,2,3,4)
Stuck <- c(6,7,8,9)
SoStuck <- data.frame(Im, Stuck)
save(list = ls(all.names = TRUE), file = "image.RData", envir =
environment())
}
myfunction()
load("image.RData")
下面的代码可以用现有的 SoStuck
对象加载:
Im <- c(1,2,3,4)
Stuck <- c(6,7,8,9)
SoStuck <- data.frame(Im, Stuck)
save.image("image.RData")
然后我退出这个会话并开始另一个会话。我这样做:
load("image.RData")
有效:
SoStuck
Im Stuck
1 1 6
2 2 7
3 3 8
4 4 9
但是,如果我这样做:
myfunction <- function()
{
Im <- c(1,2,3,4)
Stuck <- c(6,7,8,9)
SoStuck <- data.frame(Im, Stuck)
save.image("image.RData")
}
myfunction()
重启R,加载再调用没有找到对象:
load("image.RData")
SoStuck
Error: object 'SoStuck' not found
我也在那个循环中尝试了 return(save.image("image.RData"))
并得到了同样的错误。
如果文件保存在函数中,有人知道我需要更改什么才能加载文件吗?谢谢。
根据 save.image
的文档,"save.image() is just a short-cut for ‘save my current workspace’, i.e., save(list = ls(all.names = TRUE), file = ".RData", envir = .GlobalEnv)."
因此,为了让您的功能正常工作,您可以像这样修改代码:
myfunction <- function()
{
Im <- c(1,2,3,4)
Stuck <- c(6,7,8,9)
SoStuck <- data.frame(Im, Stuck)
save(list = ls(all.names = TRUE), file = "image.RData", envir =
environment())
}
myfunction()
load("image.RData")