R-ohjelmointi.org

Tilastotieteellistä ohjelmointia R-kielellä

Khiin neliötestin odotetut frekvenssit

Khiin neliötestin yhteydessä on usein hyödyllistä tarkastella havaittujen ja odotettujen frekvenssien eroja. Odotetut frekvenssit lasketaan testin yhteydessä, ja ne löytyvät tulosobjektin kohdasta expected. Eroihin pääsee siis käsiksi esimerkiksi seuraavasti:

# Aineisto
m<-matrix(ncol=2, data=c(117, 222, 61, 100))
# Testi
chisq.test(m)
# Odotetut arvot
chisq.test(m)$expected
# Ero havaittuihin arvoihin
chisq.test(m)$observed-chisq.test(m)$expected

Mikään ei tietenkään estä laskemasta samaa tulosta käsinkin. Tällöin odotetut arvot on helpointa laskea marginaalisten jakaumien ulkotulona:

# Odotetut arvot
m1 <- margin.table(m,1)/sum(m)
m2 <- margin.table(m,2)/sum(m)
e<-outer(m1,m2)*sum(m)
# Testisuure
X<-sum((abs(m-e)-0.5)^2/e)
# P-arvo
p<-1-pchisq(X, 1)