Her biri 20 matematik problemini çözmeye çalışan 10 öğrencim olduğunu varsayalım. Sorunlar doğru veya yanlış (uzun veri olarak) puanlanır ve her öğrencinin performansı bir doğruluk ölçüsü ile özetlenebilir (subjdata'da). Aşağıdaki 1, 2 ve 4 modelleri farklı sonuçlar üretiyor gibi görünüyor, ancak aynı şeyi yaptıklarını anlıyorum. Neden farklı sonuçlar üretiyorlar? (Referans için model 3'ü dahil ettim.)
library(lme4)
set.seed(1)
nsubjs=10
nprobs=20
subjdata = data.frame('subj'=rep(1:nsubjs),'iq'=rep(seq(80,120,10),nsubjs/5))
longdata = subjdata[rep(seq_len(nrow(subjdata)), each=nprobs), ]
longdata$correct = runif(nsubjs*nprobs)<pnorm(longdata$iq/50-1.4)
subjdata$acc = by(longdata$correct,longdata$subj,mean)
model1 = lm(logit(acc)~iq,subjdata)
model2 = glm(acc~iq,subjdata,family=gaussian(link='logit'))
model3 = glm(acc~iq,subjdata,family=binomial(link='logit'))
model4 = lmer(correct~iq+(1|subj),longdata,family=binomial(link='logit'))
library(car)
logit işlevi için gereklidir.
library(betareg)
model5 = betareg(acc~scale(iq),subjdata)