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

Description Usage Arguments Details Value Missing and non- values Ties Author(s) See Also


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


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



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.


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


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


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


Not used.


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.


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.


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


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

Search within the matrixStats package
Search all R packages, documentation and source code

Questions? Problems? Suggestions? or email at

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.