각각 20 개의 수학 문제를 해결하려고 시도하는 10 명의 학생이 있다고 가정합니다. 문제는 정확하거나 부정확 한 점수를 매 깁니다 (longdata). 각 학생의 성과는 정확도 측정 값 (subjdata)으로 요약 할 수 있습니다. 아래 모델 1, 2 및 4는 다른 결과를 생성하는 것으로 보이지만 동일한 결과를 얻는 것으로 알고 있습니다. 왜 다른 결과를 내고 있습니까? (참고로 모델 3을 포함 시켰습니다.)
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)
로짓 기능에 필요합니다.
library(betareg)
model5 = betareg(acc~scale(iq),subjdata)