## Mahalanobis Distance in R

Mahalanobis distance computes distance of two points considering covariance of data points, namely,

mahalanobis distance = (d – AVG(d)) / Covariance = d’C-1d where d is euclidean distance between two points.

In R[1]:

> x = data.frame(c(1, 0, 8, 2, 5), c(12, 14, 0, 2, 1), c(5, 7, 6, 3, 8))
> names(x) = c(“x”, “y”, “z”)
> x
x y z
1 1 12 5
2 0 14 7
3 8 0 6
4 2 2 3
5 5 1 8
> s = cov(x)
> s
x y z
x 10.70 -17.95 1.55
y -17.95 44.20 0.95
z 1.55 0.95 3.70

Now we compute mahalanobis distance between the first data and the rest.

> mahalanobis(x, c(1, 12, 5), s)
[1] 0.000000 1.750912 4.585126 5.010909 7.552592

Click here for the next article on this topic.

References)

[1] Data is from 박광배, “다변량분석”, 학지사, p57.

## Comments 2