| irank | R Documentation |
Compute integer of fractional ranks with flexible handling of ties.
irank(x, omega = 0, increasing = FALSE, na.rm = FALSE)
frank(x, omega = 0, increasing = FALSE, na.rm = FALSE)
x |
vector of values to be ranked |
omega |
numeric value in [0,1], defining how ties in |
increasing |
logical; if |
na.rm |
logical; if |
irank implements all possible definitions of ranks of the values in x. Different definitions of the ranks are chosen through combinations of the two arguments
omega and increasing. Suppose x is of length p. If increasing=TRUE, then the largest value in x receives the rank p and the smallest
the rank 1. If increasing=FALSE, then the largest value in x receives the rank 1 and the smallest
the rank p.
The value of omega indicates how ties are handled. If there are no ties in x, then the value of omega does not affect the ranks and the only choice to be made is whether
the ranks should be increasing or decreasing with the values in x. When there are ties in x, however, then there are infinitely
many possible ranks that can be assigned to a tied value.
When increasing=TRUE, then omega=0 leads to the smallest possible and omega=1 to the largest possible rank of a tied value. Values of omega between
0 and 1 lead to values of the rank between the largest and smallest.
frank takes the ranking returned by irank and divides the result by length(x). The result is a ranking with
ranks in the interval [0,1]. An important special case occurs for increasing=TRUE and omega=1: in this case, the rank
of the value x[j] is equal to the empirical cdf of x evaluated at x[j].
Numeric vector of the same length as x containing the integer (for irank) or fractional (for frank) ranks.
# simple example without ties:
x <- c(3,8,-4,10,2)
irank(x, increasing=TRUE)
irank(x, increasing=FALSE)
# since there are no ties, the value of omega has no impact:
irank(x, increasing=TRUE, omega=0)
irank(x, increasing=TRUE, omega=0.5)
irank(x, increasing=TRUE, omega=1)
# simple example with ties:
x <- c(3,4,7,7,10,11,15,15,15,15)
irank(x, increasing=TRUE, omega=0) # smallest possible ranks
irank(x, increasing=TRUE, omega=0.5) # mid-ranks
irank(x, increasing=TRUE, omega=1) # largest possible ranks
# simple example of fractional ranks without ties:
x <- c(3,8,-4,10,2)
frank(x, increasing=TRUE)
frank(x, increasing=FALSE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.