Re: [R] extracting elements from a list in vectorized form

From: Peter Dalgaard <p.dalgaard_at_biostat.ku.dk>
Date: Tue, 01 Jul 2008 09:41:51 +0200

jgarcia_at_ija.csic.es wrote:
> Hi;
> It seems to me that has probably been asked in the past. But I cannot find
> the track.
>
> I usually need to extract elements from a list and contruct vector from
> them; e.g., to create a table. Perhaps there is a way to directly extract
> them without looping?
> Simple example:
>
>
>> S.lst
>>
> $sublist.1
> $sublist.1$age
> [1] 24.58719
>
> $sublist.1$weight
> [1] 60.82861
>
>
> $sublist.2
> $sublist.2$age
> [1] 32.39551
>
> $sublist.2$weight
> [1] 59.46347
>
> etc.
>
> I would like to extract, e.g., directly all weights element from each
> sublist without looping. I know it is possible to do this as:
>
> unlist(S.lst)[paste("sublist.",1:length(S.lst),".weight",sep="")]
>
> but there is not some short-cut? something like
>
> S.lst[[1:length(S.lst)]]$weight ?
>
>
I think this should do it:

sapply(S.lst, "[[", "weight")

-- 
   O__  ---- Peter Dalgaard             ุster Farimagsgade 5, Entr.B
  c/ /'_ --- Dept. of Biostatistics     PO Box 2099, 1014 Cph. K
 (*) \(*) -- University of Copenhagen   Denmark      Ph:  (+45) 35327918
~~~~~~~~~~ - (p.dalgaard_at_biostat.ku.dk)              FAX: (+45) 35327907

______________________________________________
R-help_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
Received on Tue 01 Jul 2008 - 07:44:14 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Tue 01 Jul 2008 - 08:31:32 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive