[R] get and save
murdoch.duncan at gmail.com
Fri Sep 9 12:08:43 CEST 2011
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
> x y
> 1 1 3
> 2 2 4
>  "d2"
>> assign(name, tmp)
> 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().
> In real life I have a bunch of text files named like 'd1.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 at r-project.org mailing list
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
More information about the R-help