[R] Access and assign list sub-elements using a string suchas "l$a$b"
Joerg van den Hoff
j.van_den_hoff at fz-rossendorf.de
Thu Jun 15 18:55:46 CEST 2006
Petr Pikal wrote:
> 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?
would be a good thing to do (there only is a link from parse to eval).
after all eval(parse(text = some_string)) is what many users (which
might come from matlab/octave where this _would_ suffice) want when they
try out eval(some_string)). and a standard eval(parse(text=...) example
on the eval manpage (where most people probably would look, would be
very good.
>
> 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
>
> ______________________________________________
> 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