On 11-09-09 5:55 AM, Göran Broström wrote:
I have a data frame 'tmp' and a vector 'name' containing 'd2'.
I want to save 'tmp' under the name hidden in 'name', and the file must have
the same name, plus the extension '.rda'.
So I try

tmp
  x y
1 1 3
2 2 4
name
[1] "d2"
assign(name, tmp)
summary(get(name))
       x              y
Min.   :1.00   Min.   :3.00
1st Qu.:1.25   1st Qu.:3.25
Median :1.50   Median :3.50
Mean   :1.50   Mean   :3.50
3rd Qu.:1.75   3rd Qu.:3.75
Max.   :2.00   Max.   :4.00
save(get(name), file = paste(name, "rda", sep = "."))
Error in save(get(name), file = paste(name, "rda", sep = ".")) :
  object ‘get(name)’ not found
++++++++++++++++++++++
I can't figure out where I 'get' it wrong.

save() does funny things with its arguments: the first one is not evaluated in the standard way. It wants a name or a character string. So you would want to pass name instead of get(name), but that would end up being interpreted the wrong way and you'd just save the name variable, not the thing it refers to.

You will probably have to use do.call to do this, i.e.

do.call(save, list(name, file=paste(name, "rda", sep = ".")))

This will evaluate the name before passing it to save().

Duncan Murdoch



In real life I have a bunch of text files named like 'd1.txt', ...,
'd100.txt'.
I want to convert all of them to R data files, with one data frame in each
named d1, ..., d100.

Any suggestion is much appreciated!



______________________________________________
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.

Reply via email to