[R] Ordering numbers

William Dunlap wdunlap at tibco.com
Wed Dec 2 22:03:02 CET 2009


> -----Original Message-----
> From: r-help-bounces at r-project.org 
> [mailto:r-help-bounces at r-project.org] On Behalf Of Lisa
> Sent: Wednesday, December 02, 2009 12:30 PM
> To: r-help at r-project.org
> Subject: [R] Ordering numbers
> 
> 
> Hello all,
> 
> I have a set of numbers that looks like this:
> 
> > id <- c(1, 1, 2, 2, 2, 3, 4, 4, 4, 4, 1, 2, 2, 2, 3, 3, 1, 
> 1, 1, 2, 3, 4,
> > 4, 4, 5, 5)
> > id
>  [1] 1 1 2 2 2 3 4 4 4 4 1 2 2 2 3 3 1 1 1 2 3 4 4 4 5 5
> 
> Please ignore the bold numbers, I just want to make my problem clear.
> I am going to order them as this:
> 
> 1 1 2 2 2 3 4 4 4 4 5 6 6 6 7 7 8 8 8 9 10 11 11 11 12 12

Do you want to assign a run identification number to each value?
If so try
   > c(1,cumsum(id[-1]!=id[-length(id)])+1)
    [1]  1  1  2  2  2  3  4  4  4  4  5  6  6  6  7  7  8  8  8  9 10
11 11 11 12 12
or the equivalent
   > r<-rle(id)
   > rep(seq_along(r$lengths), r$lengths)
    [1]  1  1  2  2  2  3  4  4  4  4  5  6  6  6  7  7  8  8  8  9 10
11 11 11 12 12
(cumsum(x[-1]!=x[-length(x)] is part of the rle algorithm.)

Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com  


> Can anyone please help how to get this done? Your help would 
> be greatly
> appreciated. 
> 
> Lisa 
> 
> -- 
> View this message in context: 
> http://n4.nabble.com/Ordering-numbers-tp941453p941453.html
> Sent from the R help mailing list archive at Nabble.com.
> 
> ______________________________________________
> 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