# rcorr: Matrix of Correlations and P-values In harrelfe/Hmisc: Harrell Miscellaneous

## Description

`rcorr` Computes a matrix of Pearson's `r` or Spearman's `rho` rank correlation coefficients for all possible pairs of columns of a matrix. Missing values are deleted in pairs rather than deleting all rows of `x` having any missing variables. Ranks are computed using efficient algorithms (see reference 2), using midranks for ties.

## Usage

 ```1 2 3 4``` ```rcorr(x, y, type=c("pearson","spearman")) ## S3 method for class 'rcorr' print(x, ...) ```

## Arguments

 `x` a numeric matrix with at least 5 rows and at least 2 columns (if `y` is absent). For `print`, `x` is an object produced by `rcorr`. `y` a numeric vector or matrix which will be concatenated to `x`. If `y` is omitted for `rcorr`, `x` must be a matrix. `type` specifies the type of correlations to compute. Spearman correlations are the Pearson linear correlations computed on the ranks of non-missing elements, using midranks for ties. `...` argument for method compatiblity.

## Details

Uses midranks in case of ties, as described by Hollander and Wolfe. P-values are approximated by using the `t` or `F` distributions.

## Value

`rcorr` returns a list with elements `r`, the matrix of correlations, `n` the matrix of number of observations used in analyzing each pair of variables, and `P`, the asymptotic P-values. Pairs with fewer than 2 non-missing values have the r values set to NA. The diagonals of `n` are the number of non-NAs for the single variable corresponding to that row and column.

## Author(s)

Frank Harrell
Department of Biostatistics
Vanderbilt University
f.harrell@vanderbilt.edu

## References

Hollander M. and Wolfe D.A. (1973). Nonparametric Statistical Methods. New York: Wiley.

Press WH, Flannery BP, Teukolsky SA, Vetterling, WT (1988): Numerical Recipes in C. Cambridge: Cambridge University Press.

`hoeffd`, `cor`, `combine.levels`, `varclus`, `dotchart3`, `impute`, `chisq.test`, `cut2`.
 ```1 2 3 4 5``` ```x <- c(-2, -1, 0, 1, 2) y <- c(4, 1, 0, 1, 4) z <- c(1, 2, 3, 4, NA) v <- c(1, 2, 3, 4, 5) rcorr(cbind(x,y,z,v)) ```