[R] Access and assign list sub-elements using a string suchas "l$a$b"

Petr Pikal petr.pikal at precheza.cz
Thu Jun 15 17:59:58 CEST 2006


Hi

yes you are correct, I remembered there is something with eval from 
older posts but did not find a connection to parse from eval help 
page. Shouldn't there be a link? Or even an example?

Best regards
Petr


On 15 Jun 2006 at 17:21, Dimitris Rizopoulos wrote:

From:           	"Dimitris Rizopoulos" <dimitris.rizopoulos at med.kuleuven.be>
To:             	"Petr Pikal" <petr.pikal at precheza.cz>, <gsxej2 at cam.ac.uk>
Copies to:      	<r-help at stat.math.ethz.ch>
Subject:        	Re: [R] Access and assign list sub-elements using a string suchas	"l$a$b"
Date sent:      	Thu, 15 Jun 2006 17:21:26 +0200

> 
> ----- Original Message ----- 
> From: "Petr Pikal" <petr.pikal at precheza.cz>
> To: "Gregory Jefferis" <gsxej2 at cam.ac.uk>
> Cc: <r-help at stat.math.ethz.ch>
> Sent: Thursday, June 15, 2006 4:56 PM
> Subject: Re: [R] Access and assign list sub-elements using a string
> suchas "l$a$b"
> 
> 
> > Hi
> > very, very close
> >
> >
> > On 15 Jun 2006 at 13:27, Gregory Jefferis wrote:
> >
> > Date sent:      Thu, 15 Jun 2006 13:27:05 +0100
> > From:           Gregory Jefferis <gsxej2 at cam.ac.uk>
> > To:             "r-help-request at stat.math.ethz.ch" 
> > <r-help-request at stat.math.ethz.ch>
> > Forwarded to:   <r-help at stat.math.ethz.ch>
> > Forwarded by:   Gregory Jefferis <gsxej2 at cam.ac.uk>
> > Date forwarded: Thu, 15 Jun 2006 14:54:13 +0100
> > Subject:        [R] Access and assign list sub-elements using a
> > string such as "l$a$b"
> >
> >> If I have a list I can set a sub-element as follows on the command
> >> line:
> >>
> >> people=list()
> >> people$tom$hair="brown"
> >> people
> >>
> >> But what if I have a string containing the name of the sub-element
> >> that I want to access?
> >>
> >> subel= "people$tom$hair"
> >>
> >> get(subel) # returns error
> >> assign(subel,"red") # silent but doesn't change list
> >> people
> >
> > See what happens when
> >
> > people<-assign(subel, "red")
> 
> but I think this is not what Greg wanted; the above just assigns "red"
> to object 'people' (i.e., check `str(assign(subel, "red"))'). If I
> understood correctly, the following could be of help:
> 
> people <- list()
> people$tom$hair <- "brown"
> people
> #################
> subel <- "people$tom$hair"
> eval(parse(text = subel))
> eval(parse(text = paste(subel, "<- 'red'")))
> people
> 
> 
> Best,
> Dimitris
> 
> 
> ----
> Dimitris Rizopoulos
> Ph.D. Student
> Biostatistical Centre
> School of Public Health
> Catholic University of Leuven
> 
> Address: Kapucijnenvoer 35, Leuven, Belgium
> Tel: +32/(0)16/336899
> Fax: +32/(0)16/337015
> Web: http://med.kuleuven.be/biostat/
>      http://www.student.kuleuven.be/~m0390867/dimitris.htm
> 
> 
> > HTH
> > Petr
> >
> >
> >>
> >> The attempts above using assign/get won't do what I am trying to do
> >> [nor according to the help should they].  I would be very grateful
> >> for any suggestions.  Many thanks,
> >>
> >> Greg.
> >>
> >> -- 
> >> Gregory Jefferis, PhD                                   and:
> >> Research Fellow
> >> Department of Zoology                                   St John's
> >> College University of Cambridge Cambridge Downing Street           
> >>                        CB2 1TP Cambridge, CB2 3EJ United Kingdom
> >>
> >> Lab Tel: +44 (0)1223 336683                     Office: +44 (0)1223
> >> 339899 Lab Fax: +44 (0)1223 336676
> >>
> >> http://www.zoo.cam.ac.uk/zoostaff/jefferis.html
> >> gsxej2 at cam.ac.uk
> >>
> >> ______________________________________________
> >> 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
> >
> > Petr Pikal
> > petr.pikal at precheza.cz
> >
> > ______________________________________________
> > 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
> > 
> 
> 
> Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm
> 

Petr Pikal
petr.pikal at precheza.cz



More information about the R-help mailing list