Skip to content
Back to formatted view

Raw Message

Message-ID: <Pine.LNX.4.44.0411041539100.14037-100000@gannet.stats>
Date: 2004-11-04T15:42:16Z
From: Brian Ripley
Subject: Conversion of strings to expressions
In-Reply-To: <41A7214E@webmail2.ofir.dk>

?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