mahalanobis {base} | R Documentation |
Mahalanobis Distance
Description
Returns the Mahalanobis distance of all rows in x
and the
vector \mu=
center
with respect to
\Sigma=
cov
.
This is (for vector x
) defined as
D^2 = (x - \mu)' \Sigma^{-1} (x - \mu)
Usage
mahalanobis(x, center, cov, inverted=FALSE)
Arguments
x |
vector or matrix of data with, say, |
center |
mean vector of the distribution or second data vector of
length |
cov |
covariance matrix ( |
inverted |
logical. If |
Author(s)
Friedrich Leisch
See Also
cov
, var
Examples
ma <- cbind(1:6, 1:3)
(S <- var(ma))
mahalanobis(c(0,0), 1:2, S)
x <- matrix(rnorm(100*3), ncol=3)
all(mahalanobis(x, 0, diag(ncol(x)))
== apply(x*x, 1,sum)) ##- Here, D^2 = usual Euclidean distances
Sx <- cov(x)
D2 <- mahalanobis(x, apply(x,2,mean), Sx)
plot(density(D2, bw=.5), main="Mahalanobis distances, n=100, p=3"); rug(D2)
qqplot(qchisq(ppoints(100), df=3), D2,
main = expression("Q-Q plot of Mahalanobis" * ~D^2 *
" vs. quantiles of" * ~ chi[3]^2))
abline(0,1,col='gray')