## Not run:
# #############################################################################
# # EXAMPLE 1: data.pisaRead
# #############################################################################
# miceadds::library_install("lme4")
#
# data(data.pisaRead)
# dat <- data.pisaRead$data
# Q <- data.pisaRead$item # item predictors
#
# # define items
# items <- colnames(dat)[ substring( colnames(dat) , 1 , 1 ) == "R" ]
# dat1 <- dat[ , c( "idstud" , items ) ]
# # matrix with person predictors
# X <- dat[ , c("idschool" , "hisei" , "female" , "migra") ]
#
# # create dataset in long format
# dat.long <- data.wide2long( dat=dat1 , id="idstud" , X=X , Q=Q )
#
# #***
# # Model 1: Rasch model
# mod1 <- lme4::glmer( resp ~ 0 + ( 1 | idstud ) + as.factor(item) , data = dat.long ,
# family="binomial" , verbose=TRUE)
# summary(mod1)
#
# #***
# # Model 2: Rasch model and inclusion of person predictors
# mod2 <- lme4::glmer( resp ~ 0 + ( 1 | idstud ) + as.factor(item) + female + hisei + migra,
# data = dat.long , family="binomial" , verbose=TRUE)
# summary(mod2)
#
# #***
# # Model 3: LLTM
# mod3 <- lme4::glmer(resp ~ (1|idstud) + as.factor(ItemFormat) + as.factor(TextType),
# data = dat.long , family="binomial" , verbose=TRUE)
# summary(mod3)
#
# #############################################################################
# # EXAMPLE 2: Rasch model in lme4
# #############################################################################
#
# set.seed(765)
# N <- 1000 # number of persons
# I <- 10 # number of items
# b <- seq(-2,2,length=I)
# dat <- sirt::sim.raschtype( stats::rnorm(N,sd=1.2) , b=b )
# dat.long <- data.wide2long( dat=dat )
# #***
# # estimate Rasch model with lmer
# library(lme4)
# mod1 <- lme4::glmer( resp ~ 0 + as.factor( item ) + ( 1 | id_index) , data = dat.long ,
# verbose=TRUE , family="binomial")
# summary(mod1)
# ## Random effects:
# ## Groups Name Variance Std.Dev.
# ## id_index (Intercept) 1.454 1.206
# ## Number of obs: 10000, groups: id_index, 1000
# ##
# ## Fixed effects:
# ## Estimate Std. Error z value Pr(>|z|)
# ## as.factor(item)I0001 2.16365 0.10541 20.527 < 2e-16 ***
# ## as.factor(item)I0002 1.66437 0.09400 17.706 < 2e-16 ***
# ## as.factor(item)I0003 1.21816 0.08700 14.002 < 2e-16 ***
# ## as.factor(item)I0004 0.68611 0.08184 8.383 < 2e-16 ***
# ## [...]
# ## End(Not run)
Run the code above in your browser using DataLab