2013-03-16 4 views
1

Если я выполняю многомерный qqplot расстояния махаланобиса от моих многомерных данных, построенных по сравнению с распределением по хи-квадрату, я ожидаю, что сопутствующая qqline будет линией с перехватом 0 и наклоном 1. Но если я запускаю следующий код:qqline не дает строку, которую я ожидал

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))

ответ

3

По умолчанию 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

Смежные вопросы