Skip to content

How do you save in R?

6 messages · prixel, Patrick Burns, Dieter Menne +2 more

#
I know it sounds like a silly question but whenever i click on "save to file"
it doesn't save. whenever i use the function attach(___) it doesn't work,
and says object can not be found. i have a series of data (0,0,0,1,1) that i
need to save, then i want to attach(...) it in another R window.

Please help.
Thanks
#
prixel <snickersoof <at> yahoo.com> writes:
Assuming "it" is Windows GUI and not your grandmother's knitting needles,
"save to file" writes the selected part of the GUI to a file and is not
that useful as a function. 
You should use File/Save Workspace instead, but better avoid this approach
and use save(mydata1, mydata2, file="mydata.Rdata") instead to have
reproducible results.
Best avoid using attach at all. It can be more confusing than helpful.
Use load("the file you saved above.Rdata") instead in the new R Window.

Dieter
#
I disagree with Dieter's last point.
Whether you use 'attach' or 'load'
should depend on whether you want the
objects in the file to remain separate
('attach') or mixed into the global
environment ('load').


Patrick Burns
patrick at burns-stat.com
+44 (0)20 8525 0696
http://www.burns-stat.com
(home of "The R Inferno" and "A Guide for the Unwilling S User")
Dieter Menne wrote:
#
Patrick Burns <pburns <at> pburns.seanet.com> writes:
Technically a good point, but I found it helpful for starters who want to 
avoid the inferno of "what's attached now?" not to use it at all.
My suggestion is to use with() instead because it has a higher locality.

I know, many of the examples use attach.

Dieter
#
I would second Dieter's point.

2009/5/18 Dieter Menne <dieter.menne at menne-biomed.de>:

  
    
#
ronggui wrote:
me to, among others because:
i've seen code where an assumption is made to the effect that packages
attached inside a function call will be automatically detached, e.g.:

    search()
    (function() attach(list()))()
    search()

unfortunately, ?attach falls short of explaining this is an incorrect
expectation, and it might be a good idea to do so. 

attach may also be confusing in how it interferes with lexical scoping:

    p = function() print(c)
    l = list(c=0)
   
    attach(l)
    p()
    detach()

    with(l, p())

i.e., attach may modify the behaviour of functions without changing
what's passed to them as arguments.

vQ