[R] Assign numbers in R

Pascal Oettli kridox at ymail.com
Wed Mar 12 10:35:54 CET 2014


Hello,

For your example, the following will work:

R> d <- c(8,7,5,5,3,3,2,1,1,1)
R> idx <- 1:length(unique(d))
R> rep(idx, rle(d)$length)
 [1] 1 2 3 3 4 4 5 6 6 6

HTH,
Pascal

On Wed, Mar 12, 2014 at 6:13 PM, T Bal <studenttbal at gmail.com> wrote:
> Hi,
> I have the following numbers:
>
> d <- c(8,7,5,5,3,3,2,1,1,1)
>
> I want to convert these into the following numbers:
>
> r:
> 1,2,3,3,4,4,5,6,6,6
>
> So if two numbers are different increment it if they are same then assign
> the same number:
>
> r <- NULL
>
> for (i in 1:length(d)) {
>
>  if (d[i] != d[i+1]) {
>   r[i] =i+1;
>  }
>  else {
>   r[i] = i;
>  }
>  }
>
> But this is not correct. How can I solve this problem? or how can I solve
> it in a different way? Thanks a lot!
>
>         [[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.



-- 
Pascal Oettli
Project Scientist
JAMSTEC
Yokohama, Japan




More information about the R-help mailing list