[R] RE: Using a number as a name to access a list

michael watson (IAH-C) michael.watson at bbsrc.ac.uk
Thu Feb 10 14:40:33 CET 2005


The answer of course is parse()!

Thank you and good night!
M

-----Original Message-----
From: michael watson (IAH-C) 
Sent: 10 February 2005 13:36
To: r-help at stat.math.ethz.ch
Subject: Using a number as a name to access a list


Hi

Dumb question time again, for which I apologise.

I have a variable that contains the following numerical text "04010".
This is the name to access a list:

> as.list(KEGGPATHID2NAME)$"04010"
[1] "MAPK signaling pathway"

Marvellous!  Except I want to do that when "04010" is assigned to a
variable called path and I can't figure out how to do it!

> path <- "04010"
>
> # the original and best
> as.list(KEGGPATHID2NAME)$"04010"
[1] "MAPK signaling pathway"
>
> # clearly this doesn't, and shouldn't, work 
> as.list(KEGGPATHID2NAME)$path
NULL
>
> # this produces a string...
> eval(paste("as.list(KEGGPATHID2NAME)$",path,sep=''))
[1] "as.list(KEGGPATHID2NAME)$04010"
>
> # as does this
> eval(paste('as.list(KEGGPATHID2NAME)$"',path,'"',sep=''))
[1] "as.list(KEGGPATHID2NAME)$\"04010\""
>

Whats really annoying is that when everyone mails me the answer, I'm
going to have known how obvious it is.... Thanks in advance

Mick
Village Idiot




More information about the R-help mailing list