rank                  package:base                  R Documentation

_S_a_m_p_l_e _R_a_n_k_s

_D_e_s_c_r_i_p_t_i_o_n:

     Returns the sample ranks of the values in a numeric vector. Ties,
     i.e., equal values, result in ranks being averaged, by default.

_U_s_a_g_e:

     rank(x, na.last = TRUE, ties.method = c("average", "first", "random"))

_A_r_g_u_m_e_n_t_s:

       x: a numeric vector.

 na.last: for controlling the treatment of 'NA's. If 'TRUE', missing
          values in the data are put last; if 'FALSE', they are put
          first; if 'NA', they are removed; if '"keep"' they are kept.

ties.method: a character string specifying how ties are treated, see
          below; can be abbreviated.

_D_e_t_a_i_l_s:

     If all components are different, the ranks are well defined, with
     values in '1:n' where 'n <- length(x)' and we assume no 'NA's for
     the moment.  Otherwise, with some values equal, called 'ties', the
     argument 'ties.method' determines the result at the corresponding
     indices.  The '"first"' method results in a permutation with
     increasing values at each index set of ties.  The '"random"'
     method puts these in random order whereas the default,
     '"average"', replaces them by their mean.

_R_e_f_e_r_e_n_c_e_s:

     Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) _The New S
     Language_. Wadsworth & Brooks/Cole.

_S_e_e _A_l_s_o:

     'order' and 'sort'.

_E_x_a_m_p_l_e_s:

     (r1 <- rank(x1 <- c(3, 1, 4, 15, 92)))
     x2 <- c(3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5)
     names(x2) <- letters[1:11]
     (r2 <- rank(x2)) # ties are averaged

     ## rank() is "idempotent": rank(rank(x)) == rank(x) :
     stopifnot(rank(r1) == r1, rank(r2) == r2)

     ## ranks without averaging
     rank(x2, ties.method= "first")  # first occurrence wins
     rank(x2, ties.method= "random") # ties broken at random
     rank(x2, ties.method= "random") # and again

