mcor function

Compute (Large) Correlation Matrix

Compute (Large) Correlation Matrix

Compute a correlation matrix, possibly by robust methods, applicable also for the case of a large number of variables.

mcor(dm, method = c("standard", "Qn", "QnStable", "ogkScaleTau2", "ogkQn", "shrink"))

Arguments

  • dm: numeric data matrix; rows are observiations (samples ), columns are variables.

  • method: a string; "standard" (default), "Qn", "QnStable", "ogkQn" and "shrink" envokes standard, elementwise robust (based on QnQ_n scale estimator, see Qn), robust (QnQ_n using OGK, see covOGK) or shrinked

    correlation estimate respectively.

Returns

A correlation matrix estimated by the specified method.

Details

The "standard" method envokes a standard correlation estimator. "Qn"

envokes a robust, elementwise correlation estimator based on the Qn scale estimte. "QnStable" also uses the Qn scale estimator, but uses an improved way of transforming that into the correlation estimator. "ogkQn" envokes a correlation estimator based on Qn using OGK. "shrink" is only useful when used with pcSelect. An optimal shrinkage parameter is used. Only correlation between response and covariates is shrinked.

See Also

Qn and covOGK

from package robustbase. pcorOrder for computing partial correlations.

References

See those in the help pages for Qn and covOGK from package robustbase.

Author(s)

Markus Kalisch kalisch@stat.math.ethz.ch and Martin Maechler

Examples

## produce uncorrelated normal random variables set.seed(42) x <- rnorm(100) y <- 2*x + rnorm(100) ## compute correlation of var1 and var2 mcor(cbind(x,y), method="standard") ## repeat but this time with heavy-tailed noise yNoise <- 2*x + rcauchy(100) mcor(cbind(x,yNoise), method="standard") ## shows almost no correlation mcor(cbind(x,yNoise), method="Qn") ## shows a lot correlation mcor(cbind(x,yNoise), method="QnStable") ## shows still much correlation mcor(cbind(x,yNoise), method="ogkQn") ## ditto