Mahalanobis distância em R

Eu encontrei a função mahalanobis.dist no pacote StatMatch (http://cran.r-project.org/web/packages/StatMatch/StatMatch.pdf) mas não está fazendo exatamente o que eu quero. Parece estar calculando a distância mahalanobis de cada observação em data.y para cada observação em data.x

Eu gostaria de calcular a distância mahalanobis de uma observação em data.y para todas as observações em data.x. Basicamente, calcule uma distância de mahalanobis de um ponto para uma "nuvem" de pontos, se isso fizer sentido. Tipo de chegar à ideia da probabilidade de uma observação ser parte de outro grupo de observações

Esta pessoa (http://people.revoledu.com/kardi/tutorial/Similarity/MahalanobisDistance.html) parece estar fazendo isso e eu tentei replicar seu processo em R, mas está falhando quando eu chego na parte inferior da equação:

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

Todo o código com o qual estou trabalhando está aqui:

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)

questionAnswers(5)

yourAnswerToTheQuestion