[R] attach and detach question
Gavin Simpson
gavin.simpson at ucl.ac.uk
Fri Jul 7 20:26:35 CEST 2006
On Fri, 2006-07-07 at 12:57 -0500, markleeds at verizon.net wrote:
<snipped />
>
> 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.
?save
> 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".
>
Is this the kind of thing you mean? I used the FileExists function from
package RandomFields as this does the file checking - you could do
something similar with ?file.list and match the name but why reinvent
the wheel.
I flipped your situation 2 around, if you have some really big objects
then it would make sense to generate the objects, save them out to
files. From a new session, you are likely not to have objects, so
perhaps better to check the file exists, if so load it, then check the
right objects are there. Alter to what suits you best.
## create two objects to be saved
obj1 <- matrix(rnorm(1000), ncol = 10)
obj2 <- matrix(rnorm(1000), ncol = 10)
## save them
save(obj1, obj2, file = "tmp.file.RData")
## clean up
rm(list = ls())
ls()
## load the required package
require(RandomFields)
## load the saved objects
if(FileExists("tmp.file.RData")) {
load("tmp.file.RData")
if(exists("obj1") & exists("obj2")) {
## more code here
summary(obj1)
summary(obj2)
} else
stop("Required objects don't exist!")
} else
stop("Big objects not found, check file exists!")
## clean up
rm(list = ls())
## if file exists but not correct objects
if(FileExists("tmp.file.RData")) {
load("tmp.file.RData")
## simulate different object names
obj3 <- obj1
obj4 <- obj2
rm(obj1, obj2)
if(exists("obj1") & exists("obj2")) {
## more code here
summary(obj1)
summary(obj2)
} else
stop("Required objects don't exist!")
} else
stop("Big objects not found, check file exists!")
## clean up
rm(list = ls())
## if file doesn't exists
unlink("tmp.file.RData")
if(FileExists("tmp.file.RData")) {
load("tmp.file.RData")
## remove the objects
obj3 <- obj1
obj4 <- obj2
rm(obj1, obj2)
if(exists("obj1") & exists("obj2")) {
## more code here
summary(obj1)
summary(obj2)
} else
stop("Required objects don't exist!")
} else
stop("Big objects not found, check file exists!")
HTH,
G
--
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
Gavin Simpson [t] +44 (0)20 7679 0522
ECRC & ENSIS, UCL Geography, [f] +44 (0)20 7679 0565
Pearson Building, [e] gavin.simpsonATNOSPAMucl.ac.uk
Gower Street, London [w] http://www.ucl.ac.uk/~ucfagls/cv/
London, UK. WC1E 6BT. [w] http://www.ucl.ac.uk/~ucfagls/
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
More information about the R-help
mailing list