I forgot to add my bad solution here: reverseList <- function(xlist){ blist <- xlist[!is.na(xlist)] x0 <- unlist(blist) l0 <- length(blist) d0 <- as.data.frame(matrix(0, l0, 3)) d0[,1] <- names(x0) d0[,2] <- x0
# unique llid llid <- unique(d0[,2]) outlist <- list( ) for (i in 1:length(llid)) { each <- llid[i] probes <- d0[d0[,2]==each, 1] outlist <- c(outlist, list(probes)) } names(outlist) <- as.character(llid) outlist } On 4/11/07, Weiwei Shi <[EMAIL PROTECTED]> wrote: > Hi, there: > > I am wondering if there is a quick way to "reverse" a list like this: > > t0 <- list(a=1, b=1, c=2, d=1) > > reverst t0 to t1 > > > t1 > $`1` > [1] "a" "b" "d" > > $`2` > [1] "c" > > > thanks. > -- > Weiwei Shi, Ph.D > Research Scientist > GeneGO, Inc. > > "Did you always know?" > "No, I did not. But I believed..." > ---Matrix III > -- Weiwei Shi, Ph.D Research Scientist GeneGO, Inc. "Did you always know?" "No, I did not. But I believed..." ---Matrix III ______________________________________________ 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.