[R] Colors vector based on group
Rui Barradas
ruipbarradas at sapo.pt
Mon Feb 6 16:47:08 CET 2012
Hello,
> I have a vector like this:
>
> x =
> c(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2)
>
> I would like to associate a colour to each of these entry. For example, I
> could use topo.colors(3) (since I have 3 groups).
>
> I know it is easy to do this with if/else statements, but I would like to
> find a proper way to do this.
Easy, after knowing how many colors are there, just use 'x' as an index
vector:
ncolrs <- length(unique(x))
colrs <- topo.colors(ncolrs)
xcolrs <- colrs[x]
Or, in one instruction,
xcolrs2 <- topo.colors(length(unique(x)))[x]
all.equal(xcolrs, xcolrs2)
Hope this helps,
Rui Barradas
--
View this message in context: http://r.789695.n4.nabble.com/Colors-vector-based-on-group-tp4361425p4361662.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list