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.spearman2
computes the square of Spearman's rho rank correlation
and a generalization of it in which x
can relate
non-monotonically to y
. This is done by computing the Spearman
multiple rho-squared between (rank(x), rank(x)^2)
and y
.
When x
is categorical, a different kind of Spearman correlation
used in the Kruskal-Wallis test is computed (and spearman2
can do
the Kruskal-Wallis test). This is done by computing the ordinary
multiple R^2
between k-1
dummy variables and
rank(y)
, where x
has k
categories. x
can
also be a formula, in which case each predictor is correlated separately
with y
, using non-missing observations for that predictor.
print
and plot
methods allow one to easily print or plot
the results of spearman2(formula)
. The adjusted rho^2
is
also computed, using the same formula used for the ordinary adjusted
R^2
. The F
test uses the unadjusted R2. For plot
,
a dot chart is drawn which by default shows, in sorted order, the
adjusted rho^2
.
spearman
computes Spearman's rho on non-missing values of two
variables. spearman.test
is a simple version of spearman2.default
.
rcorr(x, y, type=c("pearson","spearman"))## S3 method for class 'rcorr':
print(x, ...)
spearman2(x, ...)
## S3 method for class 'default':
spearman2(x, y, p=1, minlev=0, exclude.imputed=TRUE, ...)
## S3 method for class 'formula':
spearman2(x, p=1,
data, subset, na.action, minlev=0, exclude.imputed=TRUE, ...)
## S3 method for class 'spearman2.formula':
print(x, ...)
## S3 method for class 'spearman2.formula':
plot(x, what=c('Adjusted rho2','rho2','P'),
sort.=TRUE, main, xlab, ...)
spearman(x, y)
spearman.test(x, y, p=1)
y
is absent). For spearman2
, the first argument may be a vector
of any type, including character or factor. The first argument may also be a
formula, in which casx
. If
y
is omitted for rcorr
, x
must be a matrix.rho^2
to
use. The default is p=1
to compute the ordinary rho^2
. Use p=2
to compute the quadratic rank generalization to allow
non-monotonicityna.action
is to retain
all values, NA or not, so that NAs can be deleted in only a pairwise
fashion.combine.levels
) in spearman2
. The default, minlev=0
causes no pooling.FALSE
to include imputed values (created by impute
) in the calculations.sort.=FALSE
to suppress sorting variables by the statistic being plottedwhat
.dotchart2
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. spearman2.default
(the
function that is called for a single x
, i.e., when there is no
formula) returns a vector of statistics for the variable.
spearman2.formula
returns a matrix with rows corresponding to
predictors.t
distribution.Press WH, Flannery BP, Teukolsky SA, Vetterling, WT (1988): Numerical Recipes in C. Cambridge: Cambridge University Press.
hoeffd
, cor
, combine.levels
, varclus
, dotchart2
, impute
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))
spearman2(x, y)
plot(spearman2(z ~ x + y + v, p=2))
Run the code above in your browser using DataLab