Skip to content

How Can I Execute a String Expression?

4 messages · Donald Macnaughton, Rolf Turner, Bert Gunter +1 more

#
I have the string ggstr that I've built with string manipulation:

ggstr =  "ggplot(df1, aes(x,y)) + geom_smooth(se=FALSE, span=0.01)"

Assuming df1 is properly defined, this string will execute properly if I
submit it manually without the quotes. How can execute the command as a
string, so that I can run it repeatedly (with minor modifications) in a
loop?  Presumably, it would be something like:

execute(ggstr)

Thanks for your help,

Don Macnaughton
#
On 13/06/17 13:55, Donald Macnaughton wrote:

            
eval(parse(text = ggstr))

cheers,

Rolf Turner
#
eval(parse(text = yourstring))  # your string must be  quoted, because
that's what a string is.

But .... don't do this! (usually)

install.packages("fortunes") ## if not already downloaded and installed
library("fortunes")
fortune(106)

See ?substitute and ?bquote for perhaps better ways to proceed.

Cheers,
Bert
Bert Gunter

"The trouble with having an open mind is that people keep coming along
and sticking things into it."
-- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )
On Mon, Jun 12, 2017 at 6:55 PM, Donald Macnaughton <donmac at matstat.com> wrote:
#
R is not a very good macro language... I recommend against this strategy.

We could be more concrete in offering alternatives if you were a little more complete in your reproducible example [1][2][3]. What variations exactly were you thinking of? What kind of data are you working with? The way you read in the data can make a big difference in how effectively you analyze it. (Not asking for your actual data... just a fake version of it.)

[1] http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example

[2] http://adv-r.had.co.nz/Reproducibility.html

[3] https://cran.r-project.org/web/packages/reprex/index.html