Jeśli wykonam qqplot wielowymiarowyodległość mahalanobis moich danych wielowymiarowych wykreślonych w funkcji rozkładu chi-kwadrat, oczekuję, że towarzysząca qqline będzie linią z przecięciem 0 i nachyleniem 1. Ale jeśli uruchomię następujący kod:
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")
Otrzymuję następujący rysunek:
Spodziewałem się, że qqline (na czerwono) będzie taka sama jak linia z przecięciem 0 i nachyleniem 1 (na czarno). Czy ktoś może mi wyjaśnić, dlaczego te 2 linie nie pasują do siebie?
(Używam wersji R 2.15.3 (2013-03-01))
Odpowiedzi:
4 dla odpowiedzi № 1Domyślnie qqline
rysuje linię przez pierwszy i trzeci kwartyl. Zobacz plik pomocy (?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)