Yet another question: Let's say I do the following:
set.seed(123) tmpf <- function(){ x <- rpois(rpois(1,4),2) } n <- 3 m <- replicate(n, tmpf()) m sub.m <- lapply(m, function(x)x[x>2]) 'sub.m' gives me: [[1]] [1] 3 4 [[2]] [1] 4 5 [[3]] [1] 4 The question is: What do I need to do such that I can extract componets of length 2 in 'sub.m' into another sublist, which would look like this: [[1]] [1] 3 4 [[2]] [1] 4 5 I think that's all the questions I can think of -- for now. Many, many thanks!!! On 8/25/06, xpRt. wannabe <[EMAIL PROTECTED]> wrote: > Jim and Patrick, > > Both of you made the same suggestion, which works great! > > A follow-up question: Suppose I change the condition 'x>2' in 'lapply' > to 'x>4', as follows: > > set.seed(123) > tmpf <- function() { > x <- rpois(rpois(1,4),2) > } > n <- 3 > m <- replicate(n,tmpf()) > m > sub.m <- lapply(m, function(x)x[x>4]) # was x>2 > > As a result, I'd get: > > > sub.m > > [[1]] > numeric(0) > > [[2]] > [1] 5 > > [[3]] > numeric(0) > > However, what would I need to do such that 'sub.m' contains only the > non-zero length component; namely, the 'sub.m[[2]]'? In essence, I'd > like to drop all the components of zero length such that 'sub.m' > results in: > > [[1]] > [1] 5 > > My best effort was to use 'lapply' again: > > lapply(sub.m, function(x)x[length(x)>0]) > > which still gives me: > > [[1]] > numeric(0) > > [[2]] > [1] 5 > > [[3]] > numeric(0) > > Again, any help would be greately appreciated. > > p.s. Sorry to bug you again. I should have thought through a little > more prior to composing an example that would represent all possible > scenarios. > > On 8/25/06, jim holtman <[EMAIL PROTECTED]> wrote: > > try this: > > > > > 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 > > > > > lapply(m, function(x)x[x>2]) > > [[1]] > > [1] 3 4 > > > > [[2]] > > [1] 4 5 > > > > [[3]] > > [1] 4 > > > > > > > > > On 8/25/06, xpRt.wannabe <[EMAIL PROTECTED]> wrote: > > > 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. > > > > > > > > > -- > > Jim Holtman > > Cincinnati, OH > > +1 513 646 9390 > > > > What is the problem you are trying to solve? > > > ______________________________________________ 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.