Angenommen, ich habe 10 Schüler, die jeweils versuchen, 20 mathematische Probleme zu lösen. Die Probleme werden richtig oder falsch bewertet (in Langdaten) und die Leistung jedes Schülers kann durch ein Genauigkeitsmaß (in Unterdaten) zusammengefasst werden. Die folgenden Modelle 1, 2 und 4 scheinen unterschiedliche Ergebnisse zu liefern, aber ich verstehe, dass sie dasselbe tun. Warum produzieren sie unterschiedliche Ergebnisse? (Ich habe Modell 3 als Referenz beigefügt.)
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)
ist für die Logit-Funktion notwendig.
library(betareg)
model5 = betareg(acc~scale(iq),subjdata)