[R] attach and detach question

Chuck Cleland ccleland at optonline.net
Fri Jul 7 20:15:31 CEST 2006


markleeds at verizon.net wrote:
> I have a large R program that I am constantly running over and over again. At the beginning of this program, I create a hige matrix and a huge dataframe but these are constant. What I mean by constant is that, if I run the program over later, I really should just use the old matrix and dataframe ( if they exist ) that were created in a previous run so that the program doesn't have to spend time creating them. Unfortunately, I don't know how to do this so things take foreeer because every time i do a new run, i recreate these objects and the boss is getting a little annoyed. I know/think that I should use attach and detach commands  but 
> 
> 1) i can't find an example somewhere of
> just saving two objects rather than the whole session.
> i've looked and looked and i can't find it.
> 
> 2) if i am able to save these two objects, i was hoping that it
> would be possible to write code inside my R program
> that basically says, "if these objects already exist in
> such and such database, then skip over this section of the code
> that creates them".

   You probably want save() and load() rather than attach() and detach().

# Save only a couple of objects
save(huge.mat, huge.df, file="myfile.Rdata")

# Load objects only if they do not exist
if(!exists("huge.mat") & !exists ("huge.df")) load("myfile.Rdata") else
   {cat("\n", "Object(s) Already Exist", "\n")}

?save
?load
?exists

> if someone has some code or a page number or reference, this is fine because i used to do pretty much this in Splus so think i can figure it out if i can just find an example.  thanks a lot.
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
> 

-- 
Chuck Cleland, Ph.D.
NDRI, Inc.
71 West 23rd Street, 8th floor
New York, NY 10010
tel: (212) 845-4495 (Tu, Th)
tel: (732) 512-0171 (M, W, F)
fax: (917) 438-0894



More information about the R-help mailing list