> sub.m <- lapply(m, function(x)x[x>2]) > sub.m [[1]] [1] 3 4
[[2]] [1] 4 5 [[3]] [1] 4 > sub.m[unlist(lapply(sub.m, function(x) length(x) == 2))] [[1]] [1] 3 4 [[2]] [1] 4 5 > sub4.m <- lapply(m, function(x)x[x>4]) > sub4.m[unlist(lapply(sub4.m, function(x) length(x) > 0))] [[1]] [1] 5 Patrick Burns [EMAIL PROTECTED] +44 (0)20 8525 0696 http://www.burns-stat.com (home of S Poetry and "A Guide for the Unwilling S User") xpRt.wannabe wrote: >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. > > > > ______________________________________________ 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.