Mahalanobis distancia en R

He encontrado la función mahalanobis.dist en el paquete StatMatch (http://cran.r-project.org/web/packages/StatMatch/StatMatch.pdf) pero no está haciendo exactamente lo que quiero. Parece estar calculando la distancia mahalanobis de cada observación en data.y a cada observación en data.x

Me gustaría calcular la distancia mahalanobis de una observación en data.y a todas las observaciones en data.x. Básicamente, calcule una distancia mahalanobis de un punto a una "nube" de puntos si eso tiene sentido. Tipo de entender la probabilidad de que una observación forme parte de otro grupo de observaciones

Ésta persona (http://people.revoledu.com/kardi/tutorial/Similarity/MahalanobisDistance.html) parece estar haciendo esto y he intentado replicar su proceso en R pero está fallando cuando llego a la parte inferior de la ecuación:

mahaldist = sqrt((inversepooledcov %*% t(meandiffmatrix)) %*% meandiffmatrix)

Todo el código con el que estoy trabajando está aquí:

a = rbind(c(2,2), c(2,5), c(6,5),c(7,3))

colnames(a) = c('x', 'y')

b = rbind(c(6,5),c(3,4))

colnames(b) = c('x', 'y')

acov = cov(a)
bcov = cov(b)

meandiff1 = mean(a[,1]) - mean(b[,1])

meandiff2 = mean(a[,2]) - mean(b[,2])

meandiffmatrix = rbind(c(meandiff1,meandiff2))

totaldata = dim(a)[1] + dim(b)[1]

pooledcov = (dim(a)[1]/totaldata * acov) + (dim(b)[1]/totaldata * bcov)

inversepooledcov = solve(pooledcov)

mahaldist = sqrt((inversepooledcov %*% t(meandiffmatrix)) %*% meandiffmatrix)

Respuestas a la pregunta(5)

Su respuesta a la pregunta