Basic question (if you know the answer)... I am dealing with a list of
commonly-formatted sub-lists, for example:
l <- list("")
l[[1]] <- c("A1","A2","A3")
l[[2]] <- c("B1","B2","B3")
l[[3]] <- c("C1","B2","B3")
Lets say I need to extract every 2nd item (i.e. A2, B2, C2). [[]] cannot be
used. l[2] returns practically the same as l[[2]]. Is there a way to
achieve this without having to loop or convert to data.frame?
Thanks in advance.
--
View this message in context: http://r.789695.n4.nabble.com/Selecting-elements-from-all-items-in-a-list-tp4387045p4387045.html
Sent from the R help mailing list archive at Nabble.com.
Selecting elements from all items in a list
4 messages · Dimitris Rizopoulos, David Winsemius, geotheory
How about:
l <- list("")
l[[1]] <- c("A1","A2","A3")
l[[2]] <- c("B1","B2","B3")
l[[3]] <- c("C1","B2","B3")
lapply(l, "[[", 2)
or
sapply(l, "[[", 2)
I hope it helps.
Best,
Dimitris
On 2/14/2012 2:44 PM, geotheory wrote:
Basic question (if you know the answer)... I am dealing with a list of
commonly-formatted sub-lists, for example:
l<- list("")
l[[1]]<- c("A1","A2","A3")
l[[2]]<- c("B1","B2","B3")
l[[3]]<- c("C1","B2","B3")
Lets say I need to extract every 2nd item (i.e. A2, B2, C2). [[]] cannot be
used. l[2] returns practically the same as l[[2]]. Is there a way to
achieve this without having to loop or convert to data.frame?
Thanks in advance.
--
View this message in context: http://r.789695.n4.nabble.com/Selecting-elements-from-all-items-in-a-list-tp4387045p4387045.html
Sent from the R help mailing list archive at Nabble.com.
______________________________________________ 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.
Dimitris Rizopoulos Assistant Professor Department of Biostatistics Erasmus University Medical Center Address: PO Box 2040, 3000 CA Rotterdam, the Netherlands Tel: +31/(0)10/7043478 Fax: +31/(0)10/7043014 Web: http://www.erasmusmc.nl/biostatistiek/
On Feb 14, 2012, at 8:44 AM, geotheory wrote:
Basic question (if you know the answer)... I am dealing with a list
of
commonly-formatted sub-lists, for example:
l <- list("")
l[[1]] <- c("A1","A2","A3")
l[[2]] <- c("B1","B2","B3")
l[[3]] <- c("C1","B2","B3")
Lets say I need to extract every 2nd item (i.e. A2, B2, C2). [[]]
cannot be
used. l[2] returns practically the same as l[[2]]. Is there a way
to
achieve this without having to loop or convert to data.frame?
Any such extraction would of necessity have a loop-like basis, but perhaps you meant without an explicit for-loop? > sapply(l, "[[", 2) [1] "A2" "B2" "B2"
David Winsemius, MD West Hartford, CT
Yes the lapply function sorted it out. Thanks for the advice. -- View this message in context: http://r.789695.n4.nabble.com/Selecting-elements-from-all-items-in-a-list-tp4387045p4387505.html Sent from the R help mailing list archive at Nabble.com.