[R] string evaluation

Dimitris Rizopoulos dimitris.rizopoulos at med.kuleuven.ac.be
Wed Jan 26 11:41:51 CET 2005


Hi Alex,


you could use something like this:

printComponent <- function(component, lis){
    if(component %in% names(lis)) return(lis[component])
    else cat(component, "in not an element of", substitute(lis), "\n")
}
##############
my.list <- list(A=1:3, B=c("Brave", "new", "world"))
printComponent("A", my.list)
printComponent("C", my.list)


I hope it helps.

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/336899
Fax: +32/16/337015
Web: http://www.med.kuleuven.ac.be/biostat
     http://www.student.kuleuven.ac.be/~m0390867/dimitris.htm


----- Original Message ----- 
From: "Alex Sanchez" <asanchez at ub.edu>
To: <r-help at stat.math.ethz.ch>
Sent: Wednesday, January 26, 2005 10:54 AM
Subject: [R] string evaluation


Hello,

I would like to be able to compose an expression using some of the 
arguments I give to a function, that is assuming I have a list such 
as:
my.list<-list(A=1:3,B=c("Brave", "new", "world"))
and a function
printComponent<-function(component){
    if (component=="A"||component=="B"){
        my.expression<-paste("my.list",component,sep="$")
        print(my.expression)}
    else{cat("Wrong argument, must be A or B")}
}

I would like that a call "printComponent("A")" to be equivalent to 
calling
> my.list$A
[1] 1 2 3
but I only obtain
> printComponent("A")
[1] "my.list$A"

I presume I must evaluate it somehow but I really can't find the 
instruction in the manuals (I would also appreciate to know where 
should I have looked at)

Thanks for the help

----------------------------------------------------------
Dr. Alex Sánchez
Departament d'Estadística U.B.
Telf: 34 934021590
Fax: 34 93 4111733
e-mail : asanchez at ub.edu
-----------------------------------------------------------

[[alternative HTML version deleted]]

______________________________________________
R-help at stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! 
http://www.R-project.org/posting-guide.html




More information about the R-help mailing list