【发布时间】:2014-03-02 22:21:57
【问题描述】:
我想计算从一组点到这些点的质心的多元距离。 Mahalanobis 距离似乎适合于此。但是,我收到一个错误(见下文)。
谁能告诉我为什么会出现这个错误,以及是否有办法解决它?
如果你下载了coordinate data和associated environmental data,你可以运行下面的代码。
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
【问题讨论】:
-
.@Pascal - 设置
tol=1e-20是否适用于所有数据集?对我来说,输入数据集是随机的,并且不断抛出新的reciprocal condition number。你知道任何可能的解决方案来让它与任何可能的未来reciprocal condition number一起工作吗?
标签: r distance similarity mahalanobis