我试图用R中的mahalanobis距离计算多变量异常值,但是当我尝试绘制结果时,我收到一条警告信息。
这里有说明,
# install.packages(c("mlbench"), dependencies = TRUE)
library(mlbench)
data(Glass)
mydata.numeric.scaled<-scale(Glass[,-10],center=T)
# install.packages(c("mvoutlier"), dependencies = TRUE)
library(mvoutlier)
alpha.value = 0.05
alpha.value.penalizado = 1 - ( 1 - alpha.value) ^ (1/nrow(mydata.numeric.scaled))
uni.plot(mydata.numeric.scaled,symb=FALSE, alpha = alpha.value.penalizado)
但是,我得到此错误/警告而不是情节:
plot.window(...)出错:&#39; ylim&#39;需要有限值
另外:警告信息: 在covMcd(x,alpha = quan)中: 变量8的绝对偏差的第112阶统计量为零。 有176个观测值(在整个214个数据集中) 方程a_1 *(x_i1 - m_1)+ ... + a_p *(x_ip - m_p)= 0的超平面(m_1, ...,m_p)这些观测值的平均值和来自矢量a的系数a_i &lt; -c(0,0,0,0,0,0,0,1,0)
这是什么意思?
答案 0 :(得分:0)
错误在于用于计算covMcd的数据量。这可以通过将整个数据集设置quan = 1来解决。默认情况下quan = 1/2取数据集的一半。