在R中使用MVN中的mvOutlier标记异常值
我试图使用在R中使用MVN中的mvOutlier标记异常值,r,label,outliers,R,Label,Outliers,我试图使用R中MVN包的mvOutlier()函数在卡方Q-Q图上标记异常值 我已经设法通过它们的标签来识别异常值,并得到它们的x坐标。我尝试使用text()将前者放置在绘图上,但x坐标和y坐标似乎发生了翻转 以文档中的示例为基础: library(MVN) data(iris) versicolor <- iris[51:100, 1:3] # Mahalanobis distance result <- mvOutlier(versicolor, qqplot = TRUE, m
R
中MVN
包的mvOutlier()
函数在卡方Q-Q图上标记异常值
我已经设法通过它们的标签来识别异常值,并得到它们的x坐标。我尝试使用text()
将前者放置在绘图上,但x坐标和y坐标似乎发生了翻转
以文档中的示例为基础:
library(MVN)
data(iris)
versicolor <- iris[51:100, 1:3]
# Mahalanobis distance
result <- mvOutlier(versicolor, qqplot = TRUE, method = "quan")
labelsO<-rownames(result$outlier)[result$outlier[,2]==TRUE]
xcoord<-result$outlier[result$outlier[,2]==TRUE,1]
text(xcoord,label=labelsO)
库(MVN)
数据(iris)
versicolor查看mvOutlier
函数内部,它似乎没有保存卡方值。现在,您的文本
代码将xcoord
视为y值,并假设实际x值为1:2
。幸运的是,卡方值是一个相当简单的计算,因为在本例中它是基于排名的
result <- mvOutlier(versicolor, qqplot = TRUE, method = "quan")
labelsO<-rownames(result$outlier)[result$outlier[,2]==TRUE]
xcoord<-result$outlier[result$outlier[,2]==TRUE,1]
#recalculate chi-squared values for ranks 50 and 49 (i.e., p=(size:(size-n.outliers + 1))-0.5)/size and df = n.variables = 3
chis = qchisq(((50:49)-0.5)/50,3)
text(xcoord,chis,label=labelsO)
result正如前面的回复中提到的,MVN packge不支持标记异常值。虽然它不是真正必要的,因为它可以手动完成,我们仍然可以考虑在MVOutLIER(…)函数中添加“标记离群值”选项。谢谢你的关心。我们可能会将其包含在包的以下更新中。基于web的版本的MVN
包现在能够标记异常值(异常值检测选项卡下的高级选项)。您可以通过以下方式访问此web工具: