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 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. |
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.
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