Skip to content
Prev 205810 / 398506 Next

A better way to Rank Data that considers "ties"

On 08-Jan-10 21:09:08, MRKidd wrote:
The following is one way of approaching it (given in primitive form):

  x<-matrix(c(2,2,5,4,6),ncol=1)
  rownames(x)<-c("Bob","Frank","Joe","Jim","David")
  x
  #       [,1]
  # Bob      2
  # Frank    2
  # Joe      5
  # Jim      4
  # David    6
    unique(sort(x))
  # [1] 2 4 5 6
  N <- length(x)
  X <- cbind(x,rep(0,N))
  Vals <- unique(sort(x))
  M <- length(Vals)
  for(i in (1:N)){X[X[,1]==Vals[i],2]<-(M+1-i)}
  X
  #       [,1] [,2]
  # Bob      2    4
  # Frank    2    4
  # Joe      5    2
  # Jim      4    3
  # David    6    1

Maybe this helps!
Ted.

--------------------------------------------------------------------
E-Mail: (Ted Harding) <Ted.Harding at manchester.ac.uk>
Fax-to-email: +44 (0)870 094 0861
Date: 08-Jan-10                                       Time: 21:53:21
------------------------------ XFMail ------------------------------