参考这里的示例数据,R代码
library(stats)
x <- read.csv("example_dat.csv")
Sx <- cov(x)
D2 <- mahalanobis(x, colMeans(x), Sx)
产生的马氏距离与可以使用代码从 SPSS 获得的距离相匹配
DATASET ACTIVATE DataSet2.
COMPUTE RandomNumbers=RV.NORMAL(0,1).
EXECUTE.
REGRESSION
/MISSING LISTWISE
/STATISTICS COEFF OUTS R ANOVA
/CRITERIA=PIN(.05) POUT(.10)
/NOORIGIN
/DEPENDENT RandomNumbers
/METHOD=ENTER Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12 Q13 Q14 Q15 Q16 Q17 Q18 Q19 Q20 Q21 Q22 Q23
Q24 Q25 Q26 Q27 Q28 Q29 Q30
/SAVE MAHAL.
在 SPSS AMOS 中,马氏距离相似,但略有不同。差异不能归因于舍入误差。例如,观察 9 的 d 平方在 SPSS AMOS 中为 51.751,而在常规 SPSS 和 R 中为 51.480。
尽管常规 SPSS 和 SPSS AMOS 归同一家公司所有。SPSS AMOS 文档中似乎没有任何内容表明它们应该不同的原因。