On 05/08/2011 12:05 PM, zhenjiang xu wrote:
Hi R users,

I have a list:
>  x
$A
[1] "a"  "b"  "c"
$B
[1] "b"  "c"
$C
[1] "c"

I want to convert it to a lowercase-to-uppercase list like this:
>  y
$a
[1] "A"
$b
[1] "A"  "B"
$c
[1] "A"  "B"  "C"

In a word, I want to reverse the list names and the elements under
each list name. Is there any quick way to do that? Thanks

I interpreted this question differently from the others, and your example is ambiguous as to which is the right interpretation. I thought you wanted to swap names and elements, so

> x <- list(A=c("d", "e", "f"), B=c("d", "e"), C=c("d"))
> x
$A
[1] "d" "e" "f"

$B
[1] "d" "e"

$C
[1] "d"

would become

> list(d=c("A", "B", "C"), e=c("A", "B"), f="A")
$d
[1] "A" "B" "C"

$e
[1] "A" "B"

$f
[1] "A"

I don't know a slick way to do this; I'd just do it by brute force, looping over the names of x.

Duncan Murdoch

______________________________________________
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.

Reply via email to