qqline没有给出我期望的那条线

时间:2013-03-16 13:19:01

标签: r plot quantile multivariate-testing

如果我根据卡方分布绘制我的多变量数据的mahalanobis距离的多变量qqplot,我期望伴随的qqline是截距为0且斜率为1的线。但是如果我运行以下代码:< / p>

scores<-matrix(rnorm(100*3),nc=3)
mah_scores = mahalanobis(scores,center=colMeans(scores),cov=cov(scores))
chi_scores = qchisq(ppoints(nrow(scores)),df=3)
qqplot(x=chi_scores,y=mah_scores,asp=1)
abline(a=0,b=1)
qqline(mah_scores, distribution = function(p) qchisq(p,df = 3),col="red")

我得到了下图:

qqplot with abline and qqline

我期望qqline(红色)与截距0和斜率1(黑色)的线相同。谁能解释为什么这两行不匹配?

(我正在运行R版本2.15.3(2013-03-01))

1 个答案:

答案 0 :(得分:4)

默认情况下,qqline在第一个和第三个四分位数中绘制一条线。请参阅帮助文件(?qqline)。

#highlight first and third quartiles
points(quantile(chi_scores,c(.25,.75)),
       quantile(mah_scores,c(.25,.75)),col="blue",cex=2,bg="blue",pch=21)

enter image description here