Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

R - Saving image within function is not loading

This below code can be loaded with the SoStuck object existing:

Im <- c(1,2,3,4)
Stuck <- c(6,7,8,9)
SoStuck <- data.frame(Im, Stuck)
save.image("image.RData")

I then quit out of this session and start another. I do this:

load("image.RData")

It works:

SoStuck
   Im  Stuck
1  1     6
2  2     7
3  3     8
4  4     9

However, if I do this:

myfunction <- function()
{
  Im <- c(1,2,3,4)
  Stuck <- c(6,7,8,9)
  SoStuck <- data.frame(Im, Stuck)
  save.image("image.RData")
}
myfunction()

Restarting R, loading and then calling does not find the object:

load("image.RData")
SoStuck
Error: object 'SoStuck' not found

I have also tried return(save.image("image.RData")) in that loop and get the same error.

Anyone know what I need to change to load the file if it was saved inside a function? Thanks.

like image 841
Gotmadstacks Avatar asked Oct 17 '25 23:10

Gotmadstacks


1 Answers

According to the documentation of 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)."

So to get your function to work, you can modify your code like this:

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")
like image 113
kluu Avatar answered Oct 20 '25 14:10

kluu



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!