[R] 'save' saved object names instead of objects

Sarah Goslee sarah.goslee at gmail.com
Fri Sep 23 15:44:06 CEST 2011


This is one of the rare cases in R where you don't want to save
the return value. You loaded d.eta, and then promptly overwrote it
with the return value, which is just the name of the object.

> ls()
character(0)
> d.eta <- array(0,dim=c(3,3,200))
> dim(d.eta)
[1]   3   3 200
> save(d.eta, file="deta")
> rm(d.eta)
> ls()
character(0)
> load("deta")
> ls()
[1] "d.eta"
> dim(d.eta)
[1]   3   3 200
> # and compare
> rm(d.eta)
> ls()
character(0)
> d.eta.name <- load("deta")
> ls()
[1] "d.eta"      "d.eta.name"
> dim(d.eta)
[1]   3   3 200
> d.eta.name
[1] "d.eta"
>

Sarah

On Fri, Sep 23, 2011 at 9:31 AM, Downey, Patrick <PDowney at urban.org> wrote:
> Hello,
>
> I created an array to hold the results of a series of simulations I'm
> running:
>
> d.eta <- array(0,dim=c(3,3,200))
>
> <simulation goes here and populates the array but it's not important>
>
> Then I tried to save the results using this:
>
> save(d.eta,file="D:/Simulation Results/sim 9-23-11 deta")
>
> When I later tried to reload them using this:
>
> d.eta <- load(file="D:/Simulation Results/sim 9-23-11 deta")
>
> I got the following:
>
>> class(d.eta)
> [1] "character"
>> d.eta
> [1] "d.eta"
>
> Why didn't it load the original object that I tried to save (the array)? Is
> the problem with how I'm saving or how I'm loading? Any explanation would
> be greatly appreciated.
>
> And to head off this question, I did check after the simulation, before
> saving, and the d.eta object is an array of numbers.
>
> Thanks,
> Mitch
>


-- 
Sarah Goslee
http://www.functionaldiversity.org



More information about the R-help mailing list