How to save and load environment objects in R
There was a need for me to build a prediction model in R and a Shiny app to allow users to get predictions out of my model. As the building of a prediction model take quite a while, it is not feasible for my shiny app to build the prediction model on demand.
There must be a way for my Shiny app to load my prediction model only once for fulfilling prediction requests from the users. As with many other programming languages, there are mechanisms in R that allow me to save my environment objects in one session and load them back in another session. This post documents how I can save and load environment objects in R.
Getting some objects into the environment
To demonstrate the ability of R in saving and loading objects, I first create some objects into the environment.
x = c(1,2,3) y = c('Hello', 'World') aList <- list() aList['a'] <- 'a' aList['b'] <- 'b'
Here I had created a Integer vector, a Character vector and a list of Character vectors. I then ran the following function to see if my objects had been saved to the current environment:
which gave me the following output:
 "aList" "x" "y"
Saving the entire list of environment objects
After I had created some objects into the R environment, I used the
save.image function to help me save the entire list of environment objects to a file. To do so, I ran the following function:
This function ran the
ls function to get the entire list of objects in the environment and save the objects as a file named 'myEnvironment.RData' in my current working directory.
To check if I had 'myEnvironment.RData', I ran the following function to get the files available in my current working directory:
and was able to see the newly created file that should contain the objects that I had created earlier:
Loading back the entire list environment of objects
To demonstrate that I can load back the objects that I had created, I first terminate my current R session by running the following function:
This function tells R to quit the current session without saving the environment data.
I then fire up a new R session and run the following function to load back the objects from 'myEnvironment.RData':
This function looked up 'myEnvironment.RData' in my current working directory in order to load back the objects that are saved within the 'myEnvironment.RData' file.
I ran the
ls function again to check whether my objects are loaded into the environment:
which produced the following output:
 "aList" "x" "y"