[R] Conversion of strings to expressions

Prof Brian Ripley ripley at stats.ox.ac.uk
Thu Nov 4 16:42:16 CET 2004


?get

> vec<-c(1,2,3,2)
> get("vec") == 2
[1] FALSE  TRUE FALSE  TRUE

Note that this is converting a string to an object, not to an expression:
the latter is done by

> parse(text="vec")
expression(vec)


On Thu, 4 Nov 2004, Alexander Sokol wrote:

> I'm not sure how to state my question in a technically accurate manner, so 
> I'll use a short example to clarify my problem:
> 
> Say I have a vector,
> 
> vec<-c(1,2,3,2)
> 
> I would like to be able to "reference" the vector by using the string 
> containing the name of the vector - that is, I would like to know of some 
> function which is able to convert the string "vec" into the vector vec itself. 
> The purpose of this is to be able to do something like
> 
> >somefunc("vec")==2
> [1] FALSE TRUE FALSE TRUE
> 
> I hope it is clear from this what the problem is. It seems to me that the 
> function desired is akin to a sort of "inverse" to the quote() function, but I 
> have been unable to find such a function.
> 
> I am using R 1.9.1 on Windows 2000 SP4. Does anyone have a suggestion of how 
> to solve the problem?

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595




More information about the R-help mailing list