lagrange {mirt} | R Documentation |
Lagrange (i.e., score) test to test whether parameters should be freed from a more constrained baseline model.
lagrange(mod, parnum, SE.type = "Oakes", type = "Richardson", ...)
mod |
an estimated model |
parnum |
a vector, or list of vectors, containing one or more parameter
locations/sets of locations to be tested.
See objects returned from |
SE.type |
type of information matrix estimator to use. See |
type |
type of numerical algorithm passed to |
... |
additional arguments to pass to |
Phil Chalmers rphilip.chalmers@gmail.com
Chalmers, R., P. (2012). mirt: A Multidimensional Item Response Theory Package for the R Environment. Journal of Statistical Software, 48(6), 1-29. doi:10.18637/jss.v048.i06
## No test:
dat <- expand.table(LSAT7)
mod <- mirt(dat, 1, 'Rasch')
(values <- mod2values(mod))
## group item class name parnum value lbound ubound est const nconst
## 1 all Item.1 dich a1 1 1.000 -Inf Inf FALSE none none
## 2 all Item.1 dich d 2 1.868 -Inf Inf TRUE none none
## 3 all Item.1 dich g 3 0.000 0 1 FALSE none none
## 4 all Item.1 dich u 4 1.000 0 1 FALSE none none
## 5 all Item.2 dich a1 5 1.000 -Inf Inf FALSE none none
## 6 all Item.2 dich d 6 0.791 -Inf Inf TRUE none none
## 7 all Item.2 dich g 7 0.000 0 1 FALSE none none
## 8 all Item.2 dich u 8 1.000 0 1 FALSE none none
## 9 all Item.3 dich a1 9 1.000 -Inf Inf FALSE none none
## 10 all Item.3 dich d 10 1.461 -Inf Inf TRUE none none
## 11 all Item.3 dich g 11 0.000 0 1 FALSE none none
## 12 all Item.3 dich u 12 1.000 0 1 FALSE none none
## 13 all Item.4 dich a1 13 1.000 -Inf Inf FALSE none none
## 14 all Item.4 dich d 14 0.521 -Inf Inf TRUE none none
## 15 all Item.4 dich g 15 0.000 0 1 FALSE none none
## 16 all Item.4 dich u 16 1.000 0 1 FALSE none none
## 17 all Item.5 dich a1 17 1.000 -Inf Inf FALSE none none
## 18 all Item.5 dich d 18 1.993 -Inf Inf TRUE none none
## 19 all Item.5 dich g 19 0.000 0 1 FALSE none none
## 20 all Item.5 dich u 20 1.000 0 1 FALSE none none
## 21 all GROUP GroupPars MEAN_1 21 0.000 -Inf Inf FALSE none none
## 22 all GROUP GroupPars COV_11 22 1.022 0 Inf TRUE none none
## prior.type prior_1 prior_2
## 1 none NaN NaN
## 2 none NaN NaN
## 3 none NaN NaN
## 4 none NaN NaN
## 5 none NaN NaN
## 6 none NaN NaN
## 7 none NaN NaN
## 8 none NaN NaN
## 9 none NaN NaN
## 10 none NaN NaN
## 11 none NaN NaN
## 12 none NaN NaN
## 13 none NaN NaN
## 14 none NaN NaN
## 15 none NaN NaN
## 16 none NaN NaN
## 17 none NaN NaN
## 18 none NaN NaN
## 19 none NaN NaN
## 20 none NaN NaN
## 21 none NaN NaN
## 22 none NaN NaN
# test all fixed slopes individually
parnum <- values$parnum[values$name == 'a1']
lagrange(mod, parnum)
## X2 df p
## 1 0.36714267 1 0.54456589
## 5 0.04789243 1 0.82677204
## 9 4.69717570 1 0.03021223
## 13 1.44960175 1 0.22859187
## 17 2.55408012 1 0.11000983
# compare to LR test for first two slopes
mod2 <- mirt(dat, 'F = 1-5
FREE = (1, a1)', 'Rasch')
coef(mod2, simplify=TRUE)$items
## a1 d g u
## Item.1 1.158017 1.9393429 0 1
## Item.2 1.000000 0.7850362 0 1
## Item.3 1.000000 1.4501782 0 1
## Item.4 1.000000 0.5175801 0 1
## Item.5 1.000000 1.9787221 0 1
anova(mod, mod2)
## AIC SABIC HQ BIC logLik X2 df p
## mod 5341.802 5352.192 5352.994 5371.248 -2664.901
## mod2 5343.264 5355.386 5356.321 5377.618 -2664.632 0.538 1 0.463
mod2 <- mirt(dat, 'F = 1-5
FREE = (2, a1)', 'Rasch')
coef(mod2, simplify=TRUE)$items
## a1 d g u
## Item.1 1.0000000 1.8746626 0 1
## Item.2 0.9464702 0.7810629 0 1
## Item.3 1.0000000 1.4661198 0 1
## Item.4 1.0000000 0.5234068 0 1
## Item.5 1.0000000 1.9997347 0 1
anova(mod, mod2)
## AIC SABIC HQ BIC logLik X2 df p
## mod 5341.802 5352.192 5352.994 5371.248 -2664.901
## mod2 5343.720 5355.842 5356.777 5378.075 -2664.860 0.081 1 0.775
mod2 <- mirt(dat, 'F = 1-5
FREE = (3, a1)', 'Rasch')
coef(mod2, simplify=TRUE)$items
## a1 d g u
## Item.1 1.000000 1.8101786 0 1
## Item.2 1.000000 0.7649578 0 1
## Item.3 1.848191 1.7774734 0 1
## Item.4 1.000000 0.5042544 0 1
## Item.5 1.000000 1.9316302 0 1
anova(mod, mod2)
## AIC SABIC HQ BIC logLik X2 df p
## mod 5341.802 5352.192 5352.994 5371.248 -2664.901
## mod2 5335.130 5347.252 5348.187 5369.485 -2660.565 8.671 1 0.003
# test slopes first two slopes and last three slopes jointly
lagrange(mod, list(parnum[1:2], parnum[3:5]))
## X2 df p
## 1.5 0.4591775 2 0.79486042
## 9.13.17 9.1527189 3 0.02732783
# test all 5 slopes and first + last jointly
lagrange(mod, list(parnum[1:5], parnum[c(1, 5)]))
## X2 df p
## 1.5.9.13.17 9.861713 5 0.07924974
## 1.17 2.898233 2 0.23477762
## End(No test)