[R-sig-ME] Multi-level Rasch Model Per Douglas Bates' paper
Simon Harmel
@|m@h@rme| @end|ng |rom gm@||@com
Wed May 13 19:45:05 CEST 2020
I meant *easiness *<- *coef(m1)[[1]][[1]][1]* *persons
<- coef(m1)[[1]][[2]][1]*
On Wed, May 13, 2020 at 12:43 PM Simon Harmel <sim.harmel using gmail.com> wrote:
> Ben,
>
> This is exactly what I'm trying to understand for my glmmTMB models in my
> original post ('m1' & 'm2').
>
> So to get the item easiness I think we need to use: *easiness *<-
> *coef(f11)[[1]][[1]][1]*
> *
> persons <- coef(f11)[[1]][[2]][1]*
>
> Am I right Ben?
>
> On Wed, May 13, 2020 at 12:32 PM Ben Bolker <bbolker using gmail.com> wrote:
>
>> Apologies for not looking this over in great detail, but not sure
>> why you're mixing lme4 and glmmTMB here?? Isn't item easiness just
>> lme4::coef(fm2)$item ?
>>
>> easiness <-
>> lme4::ranef(fm2)$item[[1]] +
>> glmmTMB::fixef(fm2)[imap$itype])
>>
>> On 5/13/20 1:25 PM, Rasmus Liland wrote:
>> > On 2020-05-13 18:50 +0200, Rasmus Liland wrote:
>> >> Indeed it does work now! Thanks!
>> > Right, so this code reproduces code until the
>> > easiness variable on page 15. Perhaps this
>> > is useful?
>> >
>> > data("lq2002", package="multilevel")
>> > wrk <- lq2002
>> > # wrk[1:5,]
>> > for (i in 3:16) wrk[[i]] <- ordered(wrk[[i]])
>> > for (i in 17:21) wrk[[i]] <- ordered(5 - wrk[[i]])
>> > lql <- reshape(wrk,
>> > varying = list(names(lq2002)[3:21]),
>> > v.names = "fivelev",
>> > idvar = "subj",
>> > timevar = "item",
>> > drop = names(lq2002)[c(2, 22:27)],
>> > direction = "long")
>> > lql$itype <-
>> > with(lql, factor(ifelse(item < 12, "Leadership",
>> > ifelse(item < 15, "Task Sig.", "Hostility")
>> > )))
>> > for (i in c(1, 2, 4, 5)) lql[[i]] <- factor(lql[[i]])
>> > lql$dichot <- factor(ifelse(lql$fivelev < 4, 0, 1))
>> > # str(lql)
>> > # summary(lql)
>> >
>> > ## 3.2 Fitting an initial multilevel Rasch model
>> > (fm1 <- lme4::glmer(
>> > dichot ~ 0 + itype + (1 | subj) +
>> > (1 | COMPID) +
>> > (1 | item),
>> > lql,
>> > binomial))
>> > rr <- lme4::ranef(fm1, condVar = TRUE)
>> > str(rr$COMPID)
>> > head(rr$COMPID)
>> >
>> > qq <- lattice::qqmath(rr)
>> > print(qq$subj)
>> >
>> > ## 3.3 Allowing for interactions of company and item type
>> > (fm2 <- lme4::glmer(
>> > dichot ~ 0 + itype + (1 | subj) +
>> > (0 + itype | COMPID) +
>> > (1 | item),
>> > lql,
>> > binomial))
>> >
>> > (fm3 <- lme4::glmer(
>> > dichot ~ 0 + itype + (1 | subj) +
>> > (1 | COMPID:itype) +
>> > (1 | item),
>> > lql,
>> > binomial))
>> >
>> > (fm3a <- lme4::glmer(
>> > dichot ~ 0 + itype + (1 | subj) +
>> > (1 | COMPID:itype) +
>> > (1 | COMPID) +
>> > (1 | item),
>> > lql,
>> > binomial))
>> >
>> > anova(fm3, fm3a, fm2)
>> >
>> > str(imap <- unique(lql[, c("itype", "item")]))
>> >
>> > (easiness <-
>> > lme4::ranef(fm2)$item[[1]] +
>> > glmmTMB::fixef(fm2)[imap$itype])
>> >
>> > Best,
>> > Rasmus
>> >
>> > _______________________________________________
>> > R-sig-mixed-models using r-project.org mailing list
>> > https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
>>
>> _______________________________________________
>> R-sig-mixed-models using r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
>>
>
[[alternative HTML version deleted]]
More information about the R-sig-mixed-models
mailing list