[R] save() unable to find object
Ivan Krylov
kry|ov@r00t @end|ng |rom gm@||@com
Thu Oct 31 10:25:08 CET 2019
On Thu, 31 Oct 2019 14:39:48 +0530
Christofer Bogaso <bogaso.christofer using gmail.com> wrote:
> Error in save("Date", paste("AAA", format(Date, "%d"), sep = ""), file
> = "Save.RData") :
> object ‘paste("AAA", format(Date, "%d"), sep = "")’ not found
save() uses non-standard evaluation [*], which means that, instead of
just getting parameter values, it gets the expressions supplied to it
by the caller in their original form. This makes it possible to pass
variable names to save() unquoted: save() will still get the name, not
the value of the variable.
This also causes error messages like yours. To prevent the non-standard
evaluation from causing problems, pass the names of the variables as a
character vector in the list = ... argument to save().
Alternatively, consider avoiding "variable variable names". Restricting
objects with programmatically generated names to a named list might
lead to cleaner code:
mydata <- list()
mydata[paste('AAA', format(Date, "%d"), sep = ""] <- 5
saveRDS(mydata, 'mydata.rds')
--
Best regards,
Ivan
[*] https://adv-r.hadley.nz/metaprogramming.html
More information about the R-help
mailing list