[R] how to reverse a list
rolf at math.unb.ca
rolf at math.unb.ca
Thu Apr 12 00:02:41 CEST 2007
Weiwei Shi wrote:
> 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"
t1 <- tapply(unlist(t0),unlist(t0),function(x){names(x)})
works for your example. Not clear how ``general'' an answer
you want.
If the entries of your list are not scalars, then the problem is much
harder I think. (And may not even be well posed.) But then you
should be using a *vector*, not a list.
Don't use a chainsaw when you need a fretsaw.
cheers,
Rolf Turner
rolf at math.unb.ca
More information about the R-help
mailing list