Here is one way:
xst <- stack(x)
let <- letters[cumsum(duplicated(match(xst$ind, letters))) + match(xst$ind,
letters)]
with(xst,
structure(split(structure(values, names = let), ind), .Names =
row.names(xst)[1:length(unique(ind))]))
On Tue, Aug 10, 2010 at 1:58 PM, Carlos Petti <[email protected]>wrote:
> Dear list,
>
> I have a list, as follows :
>
> a <- 5
> names(a) <- "a"
> b <- 9
> names(b) <- "b"
> c <- 15
> names(c) <- "c"
> x <- list("i" = a, "j" = b, "j" = c)
>
> I want to invert the list, like this :
>
> $a
> i
> 5
>
> $b
> j k
> 9 15
>
> I do not find a clean solution.
>
> Could anyone give me elegant ideas ?
>
> Thanks in advance,
> Carlos
>
> ______________________________________________
> [email protected] 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.
>
--
Henrique Dallazuanna
Curitiba-Paraná-Brasil
25° 25' 40" S 49° 16' 22" O
[[alternative HTML version deleted]]
______________________________________________
[email protected] 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.