Gets the rank of each row (column) of a matrix

Share:

Description

Gets the rank of each row (column) of a matrix.

Usage

1
2
3
4
 rowRanks(x, rows=NULL, cols=NULL, ties.method=c("max", "average", "min"), dim.=dim(x),
  ...)
 colRanks(x, rows=NULL, cols=NULL, ties.method=c("max", "average", "min"), dim.=dim(x),
  preserveShape=FALSE, ...)

Arguments

x

A numeric or integer NxK matrix.

rows, cols

A vector indicating subset of rows (and/or columns) to operate over. If NULL, no subsetting is done.

ties.method

A character string specifying how ties are treated. For details, see below.

dim.

An integer vector of length two specifying the dimension of x, also when not a matrix.

preserveShape

A logical specifying whether the matrix returned should preserve the input shape of x, or not.

...

Not used.

Details

The row ranks of x are collected as rows of the result matrix.

The column ranks of x are collected as rows if preserveShape = FALSE, otherwise as columns.

The implementation is optimized for both speed and memory. To avoid coercing to doubles (and hence memory allocation), there is a unique implementation for integer matrices. It is more memory efficient to do colRanks(x, preserveShape=TRUE) than t(colRanks(x, preserveShape=FALSE)).

Any names of x are ignored and absent in the result.

Value

An integer matrix is returned. The rowRanks() function always returns an NxK matrix, where N (K) is the number of rows (columns) whose ranks are calculated.

The colRanks() function returns an NxK matrix, if preserveShape = TRUE, otherwise a KxN matrix.

Missing and non- values

These are ranked as NA, as with na.last="keep" in the rank() function.

Ties

When some values are equal ("ties"), argument ties.method specifies what their ranks should be. If ties.method is "max", ties are ranked as the maximum value. If ties.method is "average", ties are ranked by their average. If ties.method is "max" ("min"), ties are ranked as the maximum (minimum) value. If ties.method is "average", ties are ranked by their average. For further details, see rank().

Author(s)

Hector Corrada Bravo and Harris Jaffee. Peter Langfelder for adding 'ties.method' support. Henrik Bengtsson adapted the original native implementation of rowRanks() from Robert Gentleman's rowQ() in the Biobase package.

See Also

rank(). For developers, see also Section 'Utility functions' in 'Writing R Extensions manual', particularly the native functions R_qsort_I() and R_qsort_int_I().

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.