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