[R] save/load and package namespaces

Duncan Murdoch
Wed, 07 Nov 2012 21:10:47 -0000

On 07/11/2012 12:50 PM, Jamie Olson wrote:
> Could someone explain to me what namespaces are loaded/saved when objects
> are saved?

None are loaded or saved when you save the object, but the names of some
are saved.  For example,

library(Hmisc)  # not normally loaded/attached
x <- zoom # copy a function from Hmisc
save(x, file="x.RData")

This will save a copy of a function from Hmisc to the file, but the
function's environment is the Hmisc namespace.  To properly load that
function via

load("x.RData")

R will load the referenced namespace.  You will see it appear in
loadedNamespaces() after the load (assuming you still have Hmisc available).

I believe this will also happen if you try to load an S4 object; you'll
need to be able to load the namespace of its class.

Duncan Murdoch


>
> Specifically, I'm using this:
>   save(list = ls(all.names = TRUE, envir = envir), file = name, envir >
envir)
> to save out everything from an environment.
>
> Later, loading it on another machine, I'm surprised to see the load
failing
> for being unable to load certain packages.  Could anyone help me understand
> why this happens?
> Jamie Olson
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.