On Nov 1, 2009, at 11:28 PM, Henrik Bengtsson wrote:

On Sun, Nov 1, 2009 at 7:48 PM, David Winsemius <dwinsem...@comcast.net > wrote:

On Nov 1, 2009, at 10:16 PM, Henrik Bengtsson wrote:

path <- "data";
dir.create(path);

for (i in 1:10) {
 m <- i:5;
 filename <- sprintf("m%02d.Rbin", i);
 pathname <- file.path(path, filename);
 save(m, file=pathname);
}


That would result in each of the ten files containing an object with the same name == "m". (Also on my system R data files have type Rdta.) So I
thought what was requested might have been a slight mod:

path <- "~/";
dir.create(path);

for (i in 1:10) {
 assign( paste("m", i, sep=""),  i:5)
 filename <- sprintf("m%02d.Rdta", i)
 pathname <- file.path(path, filename)
 obj =get(paste("m", i, sep=""))
 save(obj, file=pathname)
}

Then a more convenient solution is to use saveObject() and
loadObject() of R.utils.  saveObject() does not save the name of the
object save.

The OP asked for this outcome :

" I would like to save m as m1, m2, m3 ...,
to file /home/data/m1, /home/data/m2, home/data/m3, ..."


 If you want to save multiple objects, the wrap them up
in a list.

I agree that a list would makes sense if it were to be stored in one file , although it was not what requested. But wouldn't that require assign()-ing a name before list()-wrapping?

I suppose we ought to mention that the use of assign to create a variable is a FAQ ... 7.21? Yep, I have now referred to it a sufficient number of times to refer to it by number.

http://cran.r-project.org/doc/FAQ/R-FAQ.html#How-can-I-turn-a-string-into-a-variable_003f

--
David

 loadObject() does not assign variable, but instead return
them. Example:

library("R.utils");
x <- list(a=1,b=LETTERS,c=Sys.time());
saveObject(x, file="foo.Rbin");
y <- loadObject("foo.Rbin");
stopifnot(identical(x,y));


So, for the original example, I'd recommend:

library("R.utils");
path <- "data";
mkdirs(path);

for (i in 1:10) {
 m <- i:5;
 filename <- sprintf("m%02d.Rbin", i);
 saveObject(m, file=filename, path=path);
}

and loading the objects back as:

for (i in 1:10) {
 filename <- sprintf("m%02d.Rbin", i);
 m <- loadObject(filename, path=path);
 print(m);
}
/Henrik


--
David.

/H

On Sun, Nov 1, 2009 at 6:53 PM, jeffc <h...@andrew.cmu.edu> wrote:

Hi,

I would like to save a few dynamically created objects to disk. The
following is the basic flow of the code segment

for(i = 1:10) {
 m = i:5
 save(m, file = ...) ## ???
}
To distinguish different objects to be saved, I would like to save m as
m1,
m2, m3 ..., to file /home/data/m1, /home/data/m2, home/data/m3, ...

I tried a couple of methods on translating between object names and
strings
(below) but couldn't get it to work.
https://stat.ethz.ch/pipermail/r-help/2008-November/178965.html
http://tolstoy.newcastle.edu.au/R/help/04/08/2673.html

Any suggestions would be appreciated.

thanks

Hao

--
View this message in context:
http://old.nabble.com/save-an-object-by-dynamicly-created-name-tp26155437p26155437.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

David Winsemius, MD
Heritage Laboratories
West Hartford, CT

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


David Winsemius, MD
Heritage Laboratories
West Hartford, CT

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to