rank
Ranks of Data
Description
Returns a vector of the ranks of the input. 
Usage
rank(x, na.last = TRUE, ties.method = c("average", "first", "last",
   "random", "max", "min"))
Arguments
| x | a numeric vector. 
Missing values (NAs) are allowed. | 
| na.last | a vector with one element. 
 If na.last = TRUE, missing values are placed last.
 If na.last = FALSE, missing values are placed first. 
 If na.last = NA, missing values are deleted.
 If na.last = "keep", the rank of any missing value is returned as NA.
 | 
| ties.method | a character string. Can be one of the following: 
 "average" indicates that all ties of a specific value are 
assigned the same rank value: the average of the positions of the 
ties in the sorted vector.
 "first" indicates that the ties are assigned ranks from 
the sequence position.first:position.last, where 
position.first is the first position of the ties in the 
sorted vector and position.last is the last.
 "last" indicates that the ties are assigned ranks from 
the sequence position.last:position.first.
 "random" indicates that the ties are assigned the 
ranks sample(position.first:position.last).
 "max" indicates that the ties are assigned the rank 
position.last.
 "min" indicates that the ties are assigned the rank 
position.first. This rank is used in many reports of sport 
results.
 | 
 
Details
The treatment of missing values is controlled by na.last. 
For information about estimating the rank of a matrix, see svd, 
qr or chol. 
Value
returns the ranks. That is, the ith value is the rank of 
x[i].  In case of ties, rank is assigned depending on the 
ties.method. 
Warning
If na.last=NA, the ith value of the result corresponds 
to the ith element of the vector that is the result of 
removing NAs from x. 
See Also
Examples
# Create sample objects:
testscores <- matrix(sample(30:98, 60, replace = TRUE), 30, 2)
diffgeom <- testscores[,1] 
complexanal <- testscores[,2] 
rank(diffgeom)
# Spearman's rank correlation between two sets of testscores:
cor(rank(diffgeom), rank(complexanal)) 
# Create sample objects with missing values:
a <- c(4, 2, 5, 1, 4, NA, 6) 
b <- c(4, 2, 5, NA, 4, 5, 6)
# This does not correctly compute the Spearman's rank correlation of the
#   non-missing data:
cor(rank(a), rank(b))
# [1] 0.1651446
# This does compute the Spearman's rank correlation of non-missing data:
cor(rank(a[!is.na(a*b)]),rank(b[!is.na(a*b)])) # 
# [1] 1