Distancia de Mahalonobis en R, error: el sistema es computacionalmente singular

Me gustaría calcular la distancia multivariada de un conjunto de puntos al centroide de esos puntos. La distancia de Mahalanobis parece ser adecuada para esto. Sin embargo, recibo un error (ver más abajo).

¿Alguien puede decirme por qué recibo este error y si hay una forma de solucionarlo?

Si descargas elcoordinar datos y eldatos ambientales asociados, puedes ejecutar el siguiente código.

require(maptools)
occ <- readShapeSpatial('occurrences.shp')
load('envDat.Rdata')

#standardize the data to scale the variables
dat <- as.matrix(scale(dat))
centroid <- dat[1547,]  #let's assume this is the centroid in this case

#Calculate multivariate distance from all points to centroid
mahalanobis(dat,center=centroid,cov=cov(dat))

Error in solve.default(cov, ...) : 
  system is computationally singular: reciprocal condition number = 9.50116e-19

Respuestas a la pregunta(2)

Su respuesta a la pregunta