| rank {base} | R Documentation |
Returns the sample ranks of the values in a numeric vector. Ties, i.e., equal values, result in ranks being averaged, by default.
rank(x, na.last = TRUE, ties.method = c("average", "first", "random"))
x |
a numeric vector. |
na.last |
for controlling the treatment of NAs.
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. |
If all components are different, the ranks are well defined, with
values in 1:n where n <- length(x) and we assume no
NAs 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.
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
(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