Message-ID: <CAAxdm-5rH_sOnTAPh633NsSkoybamA+-sBh6tC=5=5EcOXzB0A@mail.gmail.com>
Date: 2012-11-03T22:02:25Z
From: jim holtman
Subject: Can you turn a string into a (working) symbol?
In-Reply-To: <1351978306029-4648343.post@n4.nabble.com>
for the second part use 'assign'
> assign(paste0('a', 'a'), 3)
> aa
[1] 3
>
On Sat, Nov 3, 2012 at 5:31 PM, andrewH <ahoerner at rprogress.org> 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
>
> Looking forward to hearing from y'all. --andrewH
>
>
>
>
> --
> View this message in context: http://r.789695.n4.nabble.com/Can-you-turn-a-string-into-a-working-symbol-tp4648343.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.
--
Jim Holtman
Data Munger Guru
What is the problem that you are trying to solve?
Tell me what you want to do, not how you want to do it.