[R] reaccessing array at a later date - trying to write it to file
Jenny Barnes
jmb at mssl.ucl.ac.uk
Thu Nov 23 17:14:37 CET 2006
Thank you Barry for your time in responding!
I think that will really help - the difference between attach and load were not
clear to me before your reply! Also I did not know about rm() - thank you for
the detail, I know you took longer than you had planned but I do appreciate it,
For those with a similar problems in the future please see the responses below:
>
>Jenny Barnes wrote:
>
>> Having tried again your suggestion of load() worked (well - it finished,
which I
>> assume it meant it worked). However not I am confused as to how I can check
it
>> has worked.
>> I typed
>>
>>>data.out$data
>>
>> which called up the data from the file - but I'm not sure if this is data
from
>> the file I have just restored as in my "previously saved workspace restored"
>
> Remove it from your current workspace:
>
> > rm(data.out)
>
> then do the load('whatever') again:
>
> > load("/some/path/to/data.out.RData")
>
> then see if its magically re-appeared in your workspace:
>
> > data.out$data
>
> But now if you quit and save your workspace it'll be in your workspace
>again when you start up.
>
> So you could consider 'attach' instead of 'load'...
>
> Remove data.out from your current workspace, save your current
>workspace (with 'save()' - just like that with nothing in the
>parentheses), then instead of load('/some/path/to/data.out.RData') use:
>
> > attach('/some/path/to/data.out.RData')
>
> This makes R search for an object called 'data.out' in that file
>whenever you type 'data.out'. It will find it as long as there's not a
>thing called 'data.out' in your workspace. So if you do attach(...) and
>then do:
>
> > str(data.out)
>
> you'll see info about your data.out object, but then do:
>
> > data.out=99
> > str(data.out)
>
> you'll see info about '99'. Your data.out is still happily sitting in
>its .RData file, its just masked by the data.out we created and set to
>99. Delete that, and your data.out comes back:
>
> > rm(data.out)
> > str(data.out) # - your data object again
>
> The advantage of this is that data.out wont be stored in your current
>workspace again. The disadvantage is that you have to do
>'attach(...whatever...)' when you start R, and that data.out can be
>masked if you create something with that name in your workspace. It is a
>handy thing to do if you create large data objects that aren't going to
>change much.
>
>> Also, is it normal that if I type
>>
>>>data.out.RData
>>
>> it says
>> Error: object "data.out.RData" not found
>
> Yes, because thats the name of the _file_ on your computer and not the
>R object.
>
> This should be in the R manuals and help files... and I've gone on
>much longer than I intended to in this email :)
>
>Barry
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jennifer Barnes
PhD student - long range drought prediction
Climate Extremes
Department of Space and Climate Physics
University College London
Holmbury St Mary, Dorking
Surrey
RH5 6NT
01483 204149
07916 139187
Web: http://climate.mssl.ucl.ac.uk
More information about the R-help
mailing list