[R] Can you turn a string into a (working) symbol?

R. Michael Weylandt michael.weylandt at gmail.com
Mon Dec 3 00:32:44 CET 2012


I believe I answered this a few weeks ago at this link:
https://stat.ethz.ch/pipermail/r-help/2012-November/328053.html and
following.

Michael

On Sun, Dec 2, 2012 at 2:43 PM, rahul143 <rk204885 at gmail.com> wrote:
> Dear folks--
>
> Suppose I have an expression that evaluates to a string, and that that
> string, were it not a character vector, would be a symbol.  I would like a
> function, call it doppel(), that will take that expression as an argument
> and produce something that functions exactly like the symbol would have if I
> typed it in the place of the function of the expression.  It should go as
> far along the path to evaluation as the symbol would have, and then stop,
> and be available for subsequent manipulation.  For example, if
>
> aa <- 3.1416
> bb  <- function(x) {x^2}
> r <- 2
> xx <- c("aa", "bb")
>
> out <- doppel(xx[1])*doppel(xx[2])(r)
>
> Then out should be 13.3664
>
> Or similarly, after
> doppel(paste("a",  "a",  sep=''))  <-  3
> aa
>
> typing aa should return 3.
>
> Is there such a function? Can there be?
>
> I thought as.symbol would do this, but it does not.
>> as.symbol (xx[1])*as.symbol (xx[2])(r)
> Error: attempt to apply non-function
>
>
>
>
> -----
>
>
>
>
>
> --
> View this message in context: http://r.789695.n4.nabble.com/Can-you-turn-a-string-into-a-working-symbol-tp4651634.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> 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