[R] How to iteratively extract elements out of a list

From: xpRt.wannabe <xprt.wannabe_at_gmail.com>
Date: Sat 26 Aug 2006 - 04:52:51 EST


Dear List,

The following code produces a list, which is what I what:

set.seed(123)
tmpf <- function() {
x <- rpois(rpois(1,4),2)
}
n <- 3
m <- replicate(n,tmpf())
m

[[1]]
[1] 3 2 4

[[2]]
[1] 0 2 4 2 2 5 2

[[3]]
[1] 2 0 4 1 0

Now I need something that would to extract iteratively (or as many times as
the size of 'n') the values that are greater than 2 in each component of
'm' into another list such that the sub-list would be:

[[1]]
[1] 3 4

[[2]]
[1] 4 5

[[3]]
[1] 4

Below is what I tried:

for(i in 1:3)
sub.list <- lapply(m,subset,m[[i]]>2)

> sub.list

which gives me something different from what I want:

[[1]]
[1] 4

[[2]]
[1] 4

[[3]]
[1] 4

Any help would be appreciated.

> version

         _
platform i386-pc-mingw32

arch     i386
os       mingw32

system i386, mingw32
status
major 2
minor 2.1
year 2005
month 12
day 20
svn rev 36812
language R

R-help@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 and provide commented, minimal, self-contained, reproducible code. Received on Sat Aug 26 04:56:23 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Mon 28 Aug 2006 - 22:26:46 EST.

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