Skip to content

Conversion of strings to expressions

6 messages · Alexander Sokol, Dimitris Rizopoulos, Sundar Dorai-Raj +3 more

#
Hello,

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
[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?

Thanks,
 Alexander
#
Hi Alexander,

I'm not quite sure of what you want, but maybe this will help:

vec <- c(1,2,3,2)
get("vec")==2

Best,
Dimitris

----
Dimitris Rizopoulos
Ph.D. Student
Biostatistical Centre
School of Public Health
Catholic University of Leuven

Address: Kapucijnenvoer 35, Leuven, Belgium
Tel: +32/16/396887
Fax: +32/16/337015
Web: http://www.med.kuleuven.ac.be/biostat/
     http://www.student.kuleuven.ac.be/~m0390867/dimitris.htm


----- Original Message ----- 
From: "Alexander Sokol" <alexandersokol at ofir.dk>
To: <R-help at stat.math.ethz.ch>
Sent: Thursday, November 04, 2004 3:00 PM
Subject: [R] Conversion of strings to expressions
#
Alexander Sokol wrote:

            
I think you want ?get. This is FAQ 7.21.

--sundar
#
On Thu, 4 Nov 2004, Alexander Sokol wrote:
A) This is a FAQ

B) Many people who think they want to do this are mistaken, and they 
actually want to, for example, work with a list, one of whose elements is 
called "vec".

 	-thomas
#
Dear Alexander,

You can use get("vec").

I hope this helps,
 John

On Thu, 4 Nov 2004 15:00:21 +0100
Alexander Sokol <alexandersokol at ofir.dk> wrote:
--------------------------------
John Fox
Department of Sociology
McMaster University
Hamilton, Ontario, Canada
http://socserv.mcmaster.ca/jfox/
#
?get
[1] FALSE  TRUE FALSE  TRUE

Note that this is converting a string to an object, not to an expression:
the latter is done by
expression(vec)
On Thu, 4 Nov 2004, Alexander Sokol wrote: