[R] Character string to R object

Ista Zahn istazahn at gmail.com
Sat Apr 28 16:37:47 CEST 2012


Hi JN,

You can use

eval(parse(text = cstr))

for this. I've been told to avoid this when possible, though I'm not sure why.

Best,
Ista

On Sat, Apr 28, 2012 at 10:27 AM, John C Nash <nashjc at uottawa.ca> wrote:
> I've been creating some R tools that manipulate objective functions for
> optimization. In so doing, I create a character string with R code, and then
> want to have it in my workspace. Currently -- and this works fine -- I write
> the code out, then use source() to bring it in again. Example:
>
> cstr<-"jack<-function(x){\n cat(\"Silly x:\")\n print(x) \n  }\n"
> write(cstr, file='tfile.txt')
> jack<-source('tfile.txt')$value # You need the value element!
> print(jack)
>
> However, I feel it would be more elegant if I could avoid the file, and am
> sure I must have missed some way to pipe the cstr through the source()
> function. Also, if the file cannot be written (directory permissions?), then
> my approach won't work.
>
>
> JN
>
> ______________________________________________
> R-help at 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.



More information about the R-help mailing list