[R] How to define desired numbers to a vector based on the present numbers

Rui Barradas ruipbarradas at sapo.pt
Fri Jun 21 17:32:16 CEST 2013


Hello,

I'm not sure I understand. You want to attribute a color number 1:7 to 
each element of your vector? Maybe the following will do.


x <- scan(text = "
43 43 43 43  0 39 13 39 50 39 39 23 23 32  0 13 32 23 32 23  0 13 13  0
")

cols <- rep(1:7, rle(x[order(x)])$lengths)[order(order(x))]
plot(x, col = cols)


Hope this helps,

Rui Barradas

Em 21-06-2013 16:13, Suparna Mitra escreveu:
> Hello R experts,
>    I want to  define desired numbers to a vector based on the present
> numbers. Can anybody please help me?
> Obviously I found worst ways to do it, but I believe there must be any
> better way.
>
> I have vector as
>> X
>   [1] 43 43 43 43  0 39 13 39 50 39 39 23 23 32  0 13 32 23 32 23  0 13 13  0
> Now I want to colour a plot with unic cols based on this vector. I want to
> baseplot.
> But now the problem in normal col pallet these nos has repetition. Thus I
> tried to
>   library(RColorBrewer)
>> coll<-colorRampPalette(brewer.pal(9, "Set1"))(50)
> and then use this vector as col.
>
> But there also the colours are not enough bright.
>
> So I am trying to set new a vector reading this present vector.
> Obviously I can type out manually as
> coll=c(rep(1,4),0,2 ....
>
> But rather I am trying for some automation with which function or similar
> But still now I am struggling with this.
> Can anybody please help me.
>
> Basic thing is some way to reads the vector and define a new col vector
> from 1:7
>
> Thanks a lot,
> Mitra
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at 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.
>



More information about the R-help mailing list