Thank you very much list! On Mon, Sep 13, 2010 at 5:04 PM, Phil Spector <spec...@stat.berkeley.edu>wrote:
> Sunny - > I don't think mapply is needed: > > lapply(1:length(mylist),function(x)rep(x,length(mylist[[x]]))) >> > [[1]] > [1] 1 1 1 > > [[2]] > [1] 2 > > [[3]] > [1] 3 3 > > - Phil Spector > Statistical Computing Facility > Department of Statistics > UC Berkeley > spec...@stat.berkeley.edu > > > > On Mon, 13 Sep 2010, Sunny Srivastava wrote: > > Dear R-Helpers, >> I have a list l1 like: >> >> l1[[1]] >> a b c >> >> l1[[2]] >> d >> >> l1[[3]] >> e f >> >> I want an output res like: >> >> res[[1]] >> 1 1 1 >> >> res[[2]] >> 2 >> >> res[[3]] >> 3 3 >> >> Essentially, I want to replicate each index equal to the number of >> elements >> present in that index. >> >> Below is what I do to accomplish this: >> >> l1 <- list(c("a", "b", "c"), "d", c("e", "f")) >> res <- mapply(rep, seq_along(l1),times=(lapply(l1, length))) >> >> Is there a more elegant way of doing this (possibly using one (l/m)apply >> function)? >> >> Thanks in advance for the help. >> >> Best Regards, >> S. >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help@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. >> >> [[alternative HTML version deleted]] ______________________________________________ R-help@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.