ltm
is an IRT package which predates the release of mirt
by several years, and is capable
of performing IRT analyses primarily for unidimensional models. This vignette demonstrates how
equivalent analyses in ltm
can be run performed in mirt
.
library(ltm)
## Loading required package: MASS
## Loading required package: msm
## Loading required package: polycor
##
## Attaching package: 'ltm'
## The following object is masked from 'package:mirt':
##
## Science
library(mirt)
dat <- key2binary(SAT12,
key = c(1,4,5,2,3,1,2,1,3,1,2,4,2,1,5,3,4,4,1,4,3,3,4,1,3,5,1,3,1,5,4,5))
head(dat)
## Item.1 Item.2 Item.3 Item.4 Item.5 Item.6 Item.7 Item.8 Item.9 Item.10
## [1,] 1 1 1 1 1 1 1 1 1 1
## [2,] 0 1 0 0 1 0 1 0 1 1
## [3,] 1 1 1 0 1 0 1 0 1 0
## [4,] 0 1 0 1 1 0 1 0 1 0
## [5,] 0 1 1 1 1 0 1 1 0 0
## [6,] 1 1 0 0 1 0 1 0 1 1
## Item.11 Item.12 Item.13 Item.14 Item.15 Item.16 Item.17 Item.18 Item.19
## [1,] 1 1 1 1 1 1 1 1 1
## [2,] 1 0 1 1 1 0 1 0 1
## [3,] 1 0 0 1 1 0 1 0 0
## [4,] 1 1 1 1 1 0 1 0 0
## [5,] 1 1 1 1 1 0 1 0 1
## [6,] 1 0 1 1 1 0 1 1 1
## Item.20 Item.21 Item.22 Item.23 Item.24 Item.25 Item.26 Item.27 Item.28
## [1,] 1 1 1 1 1 1 1 1 1
## [2,] 1 1 1 0 1 0 0 1 0
## [3,] 1 1 1 0 1 1 0 1 1
## [4,] 1 1 0 0 0 0 0 1 1
## [5,] 1 1 1 0 1 0 1 1 1
## [6,] 1 1 1 1 1 0 0 1 0
## Item.29 Item.30 Item.31 Item.32
## [1,] 1 1 1 1
## [2,] 0 0 1 0
## [3,] 0 0 1 0
## [4,] 0 0 1 0
## [5,] 1 0 1 0
## [6,] 0 0 1 0
1PL model
#ltm
(lmod1 <- ltm::rasch(dat, IRT.param = FALSE))
##
## Call:
## ltm::rasch(data = dat, IRT.param = FALSE)
##
## Coefficients:
## Item.1 Item.2 Item.3 Item.4 Item.5 Item.6 Item.7 Item.8
## -1.077 0.332 -1.096 -0.573 0.582 -1.912 1.342 -1.592
## Item.9 Item.10 Item.11 Item.12 Item.13 Item.14 Item.15 Item.16
## 2.324 -0.361 4.448 -0.394 0.791 1.125 1.725 -0.401
## Item.17 Item.18 Item.19 Item.20 Item.21 Item.22 Item.23 Item.24
## 3.620 -0.708 0.237 2.205 2.685 2.992 -0.910 1.153
## Item.25 Item.26 Item.27 Item.28 Item.29 Item.30 Item.31 Item.32
## -0.590 -0.178 2.094 0.150 -0.768 -0.273 1.853 -1.898
## z
## 0.906
##
## Log.Lik: -9643.437
summary(lmod1)
##
## Call:
## ltm::rasch(data = dat, IRT.param = FALSE)
##
## Model Summary:
## log.Lik AIC BIC
## -9643.437 19352.87 19497.97
##
## Coefficients:
## value std.err z.vals
## Itm.1 -1.0767 0.1046 -10.2984
## Itm.2 0.3322 0.0965 3.4426
## Itm.3 -1.0958 0.1049 -10.4502
## Itm.4 -0.5732 0.0984 -5.8237
## Itm.5 0.5818 0.0980 5.9375
## Itm.6 -1.9120 0.1243 -15.3823
## Itm.7 1.3421 0.1085 12.3741
## Itm.8 -1.5921 0.1151 -13.8262
## Itm.9 2.3242 0.1388 16.7482
## It.10 -0.3612 0.0969 -3.7255
## It.11 4.4481 0.3241 13.7243
## It.12 -0.3936 0.0971 -4.0518
## It.13 0.7914 0.0999 7.9184
## It.14 1.1247 0.1045 10.7642
## It.15 1.7245 0.1177 14.6570
## It.16 -0.4014 0.0972 -4.1305
## It.17 3.6199 0.2246 16.1166
## It.18 -0.7081 0.0997 -7.1034
## It.19 0.2370 0.0962 2.4639
## It.20 2.2051 0.1338 16.4753
## It.21 2.6847 0.1563 17.1777
## It.22 2.9919 0.1747 17.1263
## It.23 -0.9100 0.1021 -8.9133
## It.24 1.1533 0.1050 10.9881
## It.25 -0.5899 0.0986 -5.9851
## It.26 -0.1782 0.0962 -1.8523
## It.27 2.0942 0.1296 16.1594
## It.28 0.1505 0.0960 1.5676
## It.29 -0.7685 0.1003 -7.6586
## It.30 -0.2733 0.0965 -2.8313
## It.31 1.8527 0.1214 15.2569
## It.32 -1.8981 0.1239 -15.3249
## z 0.9059 0.0351 25.8081
##
## Integration:
## method: Gauss-Hermite
## quadrature points: 21
##
## Optimization:
## Convergence: 0
## max(|grad|): 0.15
## quasi-Newton: BFGS
#mirt
model <- mirt.model('Theta = 1-32
CONSTRAIN = (1-32, a1)')
(mmod1 <- mirt::mirt(dat, model, SE=TRUE, verbose=FALSE))
##
## Call:
## mirt::mirt(data = dat, model = model, SE = TRUE, verbose = FALSE)
##
## Full-information item factor analysis with 1 factor(s).
## Converged within 1e-04 tolerance after 12 EM iterations.
## mirt version: 1.39.4
## M-step optimizer: BFGS
## EM acceleration: Ramsay
## Number of rectangular quadrature: 61
## Latent density type: Gaussian
##
## Information matrix estimated with method: Oakes
## Second-order test: model is a possible local maximum
## Condition number of information matrix = 92.51659
##
## Log-likelihood = -9643.47
## Estimated parameters: 64
## AIC = 19352.94
## BIC = 19498.04; SABIC = 19393.27
## G2 (4294967262) = 11617.22, p = 1
## RMSEA = 0, CFI = NaN, TLI = NaN
coef(mmod1, simplify=TRUE)
## $items
## a1 d g u
## Item.1 0.905 -1.078 0 1
## Item.2 0.905 0.331 0 1
## Item.3 0.905 -1.097 0 1
## Item.4 0.905 -0.574 0 1
## Item.5 0.905 0.581 0 1
## Item.6 0.905 -1.913 0 1
## Item.7 0.905 1.341 0 1
## Item.8 0.905 -1.593 0 1
## Item.9 0.905 2.323 0 1
## Item.10 0.905 -0.362 0 1
## Item.11 0.905 4.447 0 1
## Item.12 0.905 -0.394 0 1
## Item.13 0.905 0.790 0 1
## Item.14 0.905 1.124 0 1
## Item.15 0.905 1.723 0 1
## Item.16 0.905 -0.402 0 1
## Item.17 0.905 3.618 0 1
## Item.18 0.905 -0.709 0 1
## Item.19 0.905 0.236 0 1
## Item.20 0.905 2.204 0 1
## Item.21 0.905 2.683 0 1
## Item.22 0.905 2.990 0 1
## Item.23 0.905 -0.911 0 1
## Item.24 0.905 1.152 0 1
## Item.25 0.905 -0.591 0 1
## Item.26 0.905 -0.179 0 1
## Item.27 0.905 2.093 0 1
## Item.28 0.905 0.150 0 1
## Item.29 0.905 -0.769 0 1
## Item.30 0.905 -0.274 0 1
## Item.31 0.905 1.851 0 1
## Item.32 0.905 -1.899 0 1
##
## $means
## Theta
## 0
##
## $cov
## Theta
## Theta 1
coef(mmod1, printSE=TRUE)
## $Item.1
## a1 d logit(g) logit(u)
## par 0.905 -1.078 -999 999
## SE 0.035 0.105 NA NA
##
## $Item.2
## a1 d logit(g) logit(u)
## par 0.905 0.331 -999 999
## SE 0.035 0.097 NA NA
##
## $Item.3
## a1 d logit(g) logit(u)
## par 0.905 -1.097 -999 999
## SE 0.035 0.105 NA NA
##
## $Item.4
## a1 d logit(g) logit(u)
## par 0.905 -0.574 -999 999
## SE 0.035 0.098 NA NA
##
## $Item.5
## a1 d logit(g) logit(u)
## par 0.905 0.581 -999 999
## SE 0.035 0.098 NA NA
##
## $Item.6
## a1 d logit(g) logit(u)
## par 0.905 -1.913 -999 999
## SE 0.035 0.124 NA NA
##
## $Item.7
## a1 d logit(g) logit(u)
## par 0.905 1.341 -999 999
## SE 0.035 0.108 NA NA
##
## $Item.8
## a1 d logit(g) logit(u)
## par 0.905 -1.593 -999 999
## SE 0.035 0.115 NA NA
##
## $Item.9
## a1 d logit(g) logit(u)
## par 0.905 2.323 -999 999
## SE 0.035 0.139 NA NA
##
## $Item.10
## a1 d logit(g) logit(u)
## par 0.905 -0.362 -999 999
## SE 0.035 0.097 NA NA
##
## $Item.11
## a1 d logit(g) logit(u)
## par 0.905 4.447 -999 999
## SE 0.035 0.324 NA NA
##
## $Item.12
## a1 d logit(g) logit(u)
## par 0.905 -0.394 -999 999
## SE 0.035 0.097 NA NA
##
## $Item.13
## a1 d logit(g) logit(u)
## par 0.905 0.79 -999 999
## SE 0.035 0.10 NA NA
##
## $Item.14
## a1 d logit(g) logit(u)
## par 0.905 1.124 -999 999
## SE 0.035 0.104 NA NA
##
## $Item.15
## a1 d logit(g) logit(u)
## par 0.905 1.723 -999 999
## SE 0.035 0.118 NA NA
##
## $Item.16
## a1 d logit(g) logit(u)
## par 0.905 -0.402 -999 999
## SE 0.035 0.097 NA NA
##
## $Item.17
## a1 d logit(g) logit(u)
## par 0.905 3.618 -999 999
## SE 0.035 0.225 NA NA
##
## $Item.18
## a1 d logit(g) logit(u)
## par 0.905 -0.709 -999 999
## SE 0.035 0.100 NA NA
##
## $Item.19
## a1 d logit(g) logit(u)
## par 0.905 0.236 -999 999
## SE 0.035 0.096 NA NA
##
## $Item.20
## a1 d logit(g) logit(u)
## par 0.905 2.204 -999 999
## SE 0.035 0.134 NA NA
##
## $Item.21
## a1 d logit(g) logit(u)
## par 0.905 2.683 -999 999
## SE 0.035 0.156 NA NA
##
## $Item.22
## a1 d logit(g) logit(u)
## par 0.905 2.990 -999 999
## SE 0.035 0.175 NA NA
##
## $Item.23
## a1 d logit(g) logit(u)
## par 0.905 -0.911 -999 999
## SE 0.035 0.102 NA NA
##
## $Item.24
## a1 d logit(g) logit(u)
## par 0.905 1.152 -999 999
## SE 0.035 0.105 NA NA
##
## $Item.25
## a1 d logit(g) logit(u)
## par 0.905 -0.591 -999 999
## SE 0.035 0.099 NA NA
##
## $Item.26
## a1 d logit(g) logit(u)
## par 0.905 -0.179 -999 999
## SE 0.035 0.096 NA NA
##
## $Item.27
## a1 d logit(g) logit(u)
## par 0.905 2.093 -999 999
## SE 0.035 0.130 NA NA
##
## $Item.28
## a1 d logit(g) logit(u)
## par 0.905 0.150 -999 999
## SE 0.035 0.096 NA NA
##
## $Item.29
## a1 d logit(g) logit(u)
## par 0.905 -0.769 -999 999
## SE 0.035 0.100 NA NA
##
## $Item.30
## a1 d logit(g) logit(u)
## par 0.905 -0.274 -999 999
## SE 0.035 0.097 NA NA
##
## $Item.31
## a1 d logit(g) logit(u)
## par 0.905 1.851 -999 999
## SE 0.035 0.121 NA NA
##
## $Item.32
## a1 d logit(g) logit(u)
## par 0.905 -1.899 -999 999
## SE 0.035 0.124 NA NA
##
## $GroupPars
## MEAN_1 COV_11
## par 0 1
## SE NA NA
# an equivalent parameterization, constraining the slopes to be 1 and freeing the latent variance
(mmod1b <- mirt::mirt(dat, 1, itemtype = 'Rasch', verbose=FALSE))
##
## Call:
## mirt::mirt(data = dat, model = 1, itemtype = "Rasch", verbose = FALSE)
##
## Full-information item factor analysis with 1 factor(s).
## Converged within 1e-04 tolerance after 12 EM iterations.
## mirt version: 1.39.4
## M-step optimizer: nlminb
## EM acceleration: Ramsay
## Number of rectangular quadrature: 61
## Latent density type: Gaussian
##
## Log-likelihood = -9643.469
## Estimated parameters: 33
## AIC = 19352.94
## BIC = 19498.04; SABIC = 19393.27
## G2 (4294967262) = 11617.22, p = 1
## RMSEA = 0, CFI = NaN, TLI = NaN
coef(mmod1b, simplify=TRUE)
## $items
## a1 d g u
## Item.1 1 -1.077 0 1
## Item.2 1 0.332 0 1
## Item.3 1 -1.096 0 1
## Item.4 1 -0.574 0 1
## Item.5 1 0.581 0 1
## Item.6 1 -1.912 0 1
## Item.7 1 1.342 0 1
## Item.8 1 -1.593 0 1
## Item.9 1 2.324 0 1
## Item.10 1 -0.362 0 1
## Item.11 1 4.449 0 1
## Item.12 1 -0.394 0 1
## Item.13 1 0.791 0 1
## Item.14 1 1.124 0 1
## Item.15 1 1.724 0 1
## Item.16 1 -0.402 0 1
## Item.17 1 3.620 0 1
## Item.18 1 -0.708 0 1
## Item.19 1 0.237 0 1
## Item.20 1 2.205 0 1
## Item.21 1 2.684 0 1
## Item.22 1 2.991 0 1
## Item.23 1 -0.910 0 1
## Item.24 1 1.153 0 1
## Item.25 1 -0.590 0 1
## Item.26 1 -0.179 0 1
## Item.27 1 2.094 0 1
## Item.28 1 0.150 0 1
## Item.29 1 -0.769 0 1
## Item.30 1 -0.274 0 1
## Item.31 1 1.852 0 1
## Item.32 1 -1.898 0 1
##
## $means
## F1
## 0
##
## $cov
## F1
## F1 0.82
sqrt(coef(mmod1b)[[33]][2]) #SD of latent variable equivalent to constrained slopes
## [1] 0.9055254
2PL model
#ltm
(lmod2 <- ltm::ltm(dat ~ z1, IRT.param = FALSE))
##
## Call:
## ltm::ltm(formula = dat ~ z1, IRT.param = FALSE)
##
## Coefficients:
## (Intercept) z1
## Item.1 -1.046 0.802
## Item.2 0.436 1.504
## Item.3 -1.143 1.075
## Item.4 -0.531 0.585
## Item.5 0.604 0.990
## Item.6 -2.051 1.149
## Item.7 1.382 1.004
## Item.8 -1.509 0.693
## Item.9 2.143 0.533
## Item.10 -0.362 1.009
## Item.11 5.244 1.730
## Item.12 -0.346 0.161
## Item.13 0.851 1.107
## Item.14 1.173 1.037
## Item.15 1.922 1.293
## Item.16 -0.383 0.726
## Item.17 4.160 1.548
## Item.18 -0.853 1.701
## Item.19 0.236 0.840
## Item.20 2.603 1.531
## Item.21 2.517 0.606
## Item.22 3.474 1.537
## Item.23 -0.851 0.638
## Item.24 1.267 1.205
## Item.25 -0.567 0.771
## Item.26 -0.173 1.535
## Item.27 2.758 1.905
## Item.28 0.172 1.071
## Item.29 -0.751 0.835
## Item.30 -0.248 0.386
## Item.31 2.774 2.329
## Item.32 -1.652 0.129
##
## Log.Lik: -9489.026
summary(lmod2)
##
## Call:
## ltm::ltm(formula = dat ~ z1, IRT.param = FALSE)
##
## Model Summary:
## log.Lik AIC BIC
## -9489.026 19106.05 19387.45
##
## Coefficients:
## value std.err z.vals
## (Intercept).Item.1 -1.0458 0.1062 -9.8506
## (Intercept).Item.2 0.4362 0.1195 3.6508
## (Intercept).Item.3 -1.1425 0.1170 -9.7612
## (Intercept).Item.4 -0.5309 0.0912 -5.8198
## (Intercept).Item.5 0.6045 0.1040 5.8139
## (Intercept).Item.6 -2.0510 0.1596 -12.8514
## (Intercept).Item.7 1.3819 0.1258 10.9883
## (Intercept).Item.8 -1.5090 0.1177 -12.8233
## (Intercept).Item.9 2.1427 0.1439 14.8865
## (Intercept).Item.10 -0.3615 0.1004 -3.6011
## (Intercept).Item.11 5.2442 0.6790 7.7234
## (Intercept).Item.12 -0.3456 0.0834 -4.1429
## (Intercept).Item.13 0.8508 0.1130 7.5296
## (Intercept).Item.14 1.1728 0.1196 9.8020
## (Intercept).Item.15 1.9225 0.1645 11.6900
## (Intercept).Item.16 -0.3825 0.0929 -4.1164
## (Intercept).Item.17 4.1603 0.4240 9.8121
## (Intercept).Item.18 -0.8531 0.1320 -6.4631
## (Intercept).Item.19 0.2363 0.0952 2.4833
## (Intercept).Item.20 2.6035 0.2260 11.5196
## (Intercept).Item.21 2.5167 0.1712 14.6993
## (Intercept).Item.22 3.4737 0.3190 10.8897
## (Intercept).Item.23 -0.8505 0.0975 -8.7238
## (Intercept).Item.24 1.2674 0.1294 9.7957
## (Intercept).Item.25 -0.5675 0.0961 -5.9072
## (Intercept).Item.26 -0.1728 0.1167 -1.4808
## (Intercept).Item.27 2.7576 0.2615 10.5461
## (Intercept).Item.28 0.1722 0.1016 1.6953
## (Intercept).Item.29 -0.7509 0.1006 -7.4627
## (Intercept).Item.30 -0.2485 0.0852 -2.9150
## (Intercept).Item.31 2.7739 0.2928 9.4743
## (Intercept).Item.32 -1.6517 0.1117 -14.7922
## z1.Item.1 0.8018 0.1181 6.7872
## z1.Item.2 1.5041 0.1729 8.6968
## z1.Item.3 1.0746 0.1345 7.9924
## z1.Item.4 0.5845 0.1037 5.6384
## z1.Item.5 0.9900 0.1330 7.4430
## z1.Item.6 1.1495 0.1550 7.4185
## z1.Item.7 1.0043 0.1509 6.6565
## z1.Item.8 0.6927 0.1208 5.7361
## z1.Item.9 0.5328 0.1601 3.3271
## z1.Item.10 1.0086 0.1273 7.9217
## z1.Item.11 1.7296 0.4972 3.4785
## z1.Item.12 0.1611 0.0913 1.7642
## z1.Item.13 1.1075 0.1461 7.5808
## z1.Item.14 1.0370 0.1479 7.0129
## z1.Item.15 1.2931 0.1887 6.8528
## z1.Item.16 0.7263 0.1100 6.6016
## z1.Item.17 1.5480 0.3539 4.3745
## z1.Item.18 1.7009 0.1864 9.1237
## z1.Item.19 0.8403 0.1190 7.0588
## z1.Item.20 1.5311 0.2367 6.4677
## z1.Item.21 0.6058 0.1859 3.2582
## z1.Item.22 1.5369 0.2917 5.2692
## z1.Item.23 0.6379 0.1086 5.8740
## z1.Item.24 1.2052 0.1622 7.4311
## z1.Item.25 0.7713 0.1129 6.8347
## z1.Item.26 1.5352 0.1705 9.0022
## z1.Item.27 1.9045 0.2761 6.8980
## z1.Item.28 1.0711 0.1338 8.0067
## z1.Item.29 0.8350 0.1170 7.1361
## z1.Item.30 0.3855 0.0958 4.0259
## z1.Item.31 2.3285 0.3317 7.0192
## z1.Item.32 0.1291 0.1200 1.0760
##
## Integration:
## method: Gauss-Hermite
## quadrature points: 21
##
## Optimization:
## Convergence: 0
## max(|grad|): 0.00092
## quasi-Newton: BFGS
#mirt
(mmod2 <- mirt::mirt(dat, 1, SE=TRUE, verbose=FALSE))
##
## Call:
## mirt::mirt(data = dat, model = 1, SE = TRUE, verbose = FALSE)
##
## Full-information item factor analysis with 1 factor(s).
## Converged within 1e-04 tolerance after 23 EM iterations.
## mirt version: 1.39.4
## M-step optimizer: BFGS
## EM acceleration: Ramsay
## Number of rectangular quadrature: 61
## Latent density type: Gaussian
##
## Information matrix estimated with method: Oakes
## Second-order test: model is a possible local maximum
## Condition number of information matrix = 96.1569
##
## Log-likelihood = -9488.955
## Estimated parameters: 64
## AIC = 19105.91
## BIC = 19387.31; SABIC = 19184.13
## G2 (4294967231) = 11308.19, p = 1
## RMSEA = 0, CFI = NaN, TLI = NaN
coef(mmod2, simplify=TRUE)
## $items
## a1 d g u
## Item.1 0.801 -1.045 0 1
## Item.2 1.502 0.438 0 1
## Item.3 1.074 -1.141 0 1
## Item.4 0.584 -0.530 0 1
## Item.5 0.989 0.606 0 1
## Item.6 1.148 -2.049 0 1
## Item.7 1.004 1.383 0 1
## Item.8 0.692 -1.508 0 1
## Item.9 0.530 2.142 0 1
## Item.10 1.007 -0.360 0 1
## Item.11 1.732 5.249 0 1
## Item.12 0.162 -0.345 0 1
## Item.13 1.103 0.851 0 1
## Item.14 1.036 1.174 0 1
## Item.15 1.293 1.925 0 1
## Item.16 0.726 -0.382 0 1
## Item.17 1.550 4.164 0 1
## Item.18 1.700 -0.851 0 1
## Item.19 0.839 0.237 0 1
## Item.20 1.537 2.610 0 1
## Item.21 0.606 2.518 0 1
## Item.22 1.540 3.479 0 1
## Item.23 0.637 -0.850 0 1
## Item.24 1.205 1.269 0 1
## Item.25 0.771 -0.567 0 1
## Item.26 1.534 -0.171 0 1
## Item.27 1.916 2.770 0 1
## Item.28 1.069 0.173 0 1
## Item.29 0.835 -0.750 0 1
## Item.30 0.386 -0.248 0 1
## Item.31 2.336 2.784 0 1
## Item.32 0.130 -1.652 0 1
##
## $means
## F1
## 0
##
## $cov
## F1
## F1 1
coef(mmod2, printSE=TRUE)
## $Item.1
## a1 d logit(g) logit(u)
## par 0.801 -1.045 -999 999
## SE 0.118 0.106 NA NA
##
## $Item.2
## a1 d logit(g) logit(u)
## par 1.502 0.438 -999 999
## SE 0.172 0.119 NA NA
##
## $Item.3
## a1 d logit(g) logit(u)
## par 1.074 -1.141 -999 999
## SE 0.134 0.117 NA NA
##
## $Item.4
## a1 d logit(g) logit(u)
## par 0.584 -0.530 -999 999
## SE 0.104 0.091 NA NA
##
## $Item.5
## a1 d logit(g) logit(u)
## par 0.989 0.606 -999 999
## SE 0.133 0.104 NA NA
##
## $Item.6
## a1 d logit(g) logit(u)
## par 1.148 -2.049 -999 999
## SE 0.155 0.159 NA NA
##
## $Item.7
## a1 d logit(g) logit(u)
## par 1.004 1.383 -999 999
## SE 0.151 0.126 NA NA
##
## $Item.8
## a1 d logit(g) logit(u)
## par 0.692 -1.508 -999 999
## SE 0.121 0.118 NA NA
##
## $Item.9
## a1 d logit(g) logit(u)
## par 0.53 2.142 -999 999
## SE 0.16 0.144 NA NA
##
## $Item.10
## a1 d logit(g) logit(u)
## par 1.007 -0.36 -999 999
## SE 0.127 0.10 NA NA
##
## $Item.11
## a1 d logit(g) logit(u)
## par 1.732 5.249 -999 999
## SE 0.496 0.677 NA NA
##
## $Item.12
## a1 d logit(g) logit(u)
## par 0.162 -0.345 -999 999
## SE 0.091 0.083 NA NA
##
## $Item.13
## a1 d logit(g) logit(u)
## par 1.103 0.851 -999 999
## SE 0.145 0.113 NA NA
##
## $Item.14
## a1 d logit(g) logit(u)
## par 1.036 1.174 -999 999
## SE 0.147 0.120 NA NA
##
## $Item.15
## a1 d logit(g) logit(u)
## par 1.293 1.925 -999 999
## SE 0.188 0.165 NA NA
##
## $Item.16
## a1 d logit(g) logit(u)
## par 0.726 -0.382 -999 999
## SE 0.110 0.093 NA NA
##
## $Item.17
## a1 d logit(g) logit(u)
## par 1.550 4.164 -999 999
## SE 0.355 0.425 NA NA
##
## $Item.18
## a1 d logit(g) logit(u)
## par 1.700 -0.851 -999 999
## SE 0.186 0.132 NA NA
##
## $Item.19
## a1 d logit(g) logit(u)
## par 0.839 0.237 -999 999
## SE 0.119 0.095 NA NA
##
## $Item.20
## a1 d logit(g) logit(u)
## par 1.537 2.610 -999 999
## SE 0.238 0.227 NA NA
##
## $Item.21
## a1 d logit(g) logit(u)
## par 0.606 2.518 -999 999
## SE 0.186 0.171 NA NA
##
## $Item.22
## a1 d logit(g) logit(u)
## par 1.540 3.479 -999 999
## SE 0.292 0.320 NA NA
##
## $Item.23
## a1 d logit(g) logit(u)
## par 0.637 -0.850 -999 999
## SE 0.108 0.097 NA NA
##
## $Item.24
## a1 d logit(g) logit(u)
## par 1.205 1.269 -999 999
## SE 0.162 0.130 NA NA
##
## $Item.25
## a1 d logit(g) logit(u)
## par 0.771 -0.567 -999 999
## SE 0.113 0.096 NA NA
##
## $Item.26
## a1 d logit(g) logit(u)
## par 1.534 -0.171 -999 999
## SE 0.170 0.117 NA NA
##
## $Item.27
## a1 d logit(g) logit(u)
## par 1.916 2.770 -999 999
## SE 0.279 0.264 NA NA
##
## $Item.28
## a1 d logit(g) logit(u)
## par 1.069 0.173 -999 999
## SE 0.133 0.101 NA NA
##
## $Item.29
## a1 d logit(g) logit(u)
## par 0.835 -0.750 -999 999
## SE 0.117 0.101 NA NA
##
## $Item.30
## a1 d logit(g) logit(u)
## par 0.386 -0.248 -999 999
## SE 0.096 0.085 NA NA
##
## $Item.31
## a1 d logit(g) logit(u)
## par 2.336 2.784 -999 999
## SE 0.334 0.298 NA NA
##
## $Item.32
## a1 d logit(g) logit(u)
## par 0.13 -1.652 -999 999
## SE 0.12 0.112 NA NA
##
## $GroupPars
## MEAN_1 COV_11
## par 0 1
## SE NA NA
(Exploratory) Multidimensional 2PL model
#ltm
lmod3 <- ltm::ltm(dat ~ z1 + z2, IRT.param = FALSE)
lmod3
##
## Call:
## ltm::ltm(formula = dat ~ z1 + z2, IRT.param = FALSE)
##
## Coefficients:
## (Intercept) z1 z2
## Item.1 -1.060 0.797 -0.325
## Item.2 0.442 1.521 -0.157
## Item.3 -1.145 1.084 0.015
## Item.4 -0.553 0.594 -0.471
## Item.5 0.607 0.994 -0.143
## Item.6 -2.066 1.135 -0.323
## Item.7 1.591 1.153 0.920
## Item.8 -1.508 0.679 -0.138
## Item.9 2.259 0.545 0.558
## Item.10 -0.374 1.056 0.275
## Item.11 5.307 1.655 0.551
## Item.12 -0.355 0.153 -0.338
## Item.13 0.870 1.145 0.366
## Item.14 1.251 1.129 -0.527
## Item.15 2.087 1.379 0.732
## Item.16 -0.388 0.731 -0.352
## Item.17 4.196 1.526 0.360
## Item.18 -0.860 1.718 0.060
## Item.19 0.236 0.843 -0.078
## Item.20 2.622 1.563 -0.112
## Item.21 2.655 0.617 0.587
## Item.22 3.472 1.499 0.294
## Item.23 -0.911 0.658 -0.626
## Item.24 1.304 1.245 0.398
## Item.25 -0.603 0.798 -0.622
## Item.26 -0.169 1.582 -0.455
## Item.27 2.817 1.917 0.457
## Item.28 0.174 1.078 -0.087
## Item.29 -0.768 0.839 -0.402
## Item.30 -0.251 0.401 0.130
## Item.31 2.866 2.457 -0.190
## Item.32 -1.654 0.144 0.066
##
## Log.Lik: -9441.303
summary(lmod3)
##
## Call:
## ltm::ltm(formula = dat ~ z1 + z2, IRT.param = FALSE)
##
## Model Summary:
## log.Lik AIC BIC
## -9441.303 19074.61 19496.71
##
## Coefficients:
## value std.err z.vals
## (Intercept).Item.1 -1.0604 0.1088 -9.7426
## (Intercept).Item.2 0.4417 0.1198 3.6855
## (Intercept).Item.3 -1.1447 0.1170 -9.7859
## (Intercept).Item.4 -0.5530 0.0963 -5.7451
## (Intercept).Item.5 0.6074 0.1041 5.8349
## (Intercept).Item.6 -2.0664 0.1630 -12.6734
## (Intercept).Item.7 1.5911 0.1806 8.8108
## (Intercept).Item.8 -1.5079 0.1175 -12.8313
## (Intercept).Item.9 2.2587 0.1771 12.7530
## (Intercept).Item.10 -0.3739 0.1028 -3.6391
## (Intercept).Item.11 5.3073 0.7067 7.5098
## (Intercept).Item.12 -0.3545 0.0859 -4.1261
## (Intercept).Item.13 0.8704 0.1174 7.4128
## (Intercept).Item.14 1.2509 0.1371 9.1245
## (Intercept).Item.15 2.0867 0.2061 10.1264
## (Intercept).Item.16 -0.3884 0.0950 -4.0894
## (Intercept).Item.17 4.1961 0.4342 9.6635
## (Intercept).Item.18 -0.8598 0.1321 -6.5099
## (Intercept).Item.19 0.2365 0.0949 2.4906
## (Intercept).Item.20 2.6224 0.2305 11.3749
## (Intercept).Item.21 2.6551 0.2127 12.4843
## (Intercept).Item.22 3.4724 0.3176 10.9328
## (Intercept).Item.23 -0.9115 0.1103 -8.2671
## (Intercept).Item.24 1.3038 0.1358 9.6037
## (Intercept).Item.25 -0.6032 0.1048 -5.7564
## (Intercept).Item.26 -0.1687 0.1196 -1.4109
## (Intercept).Item.27 2.8167 0.2737 10.2901
## (Intercept).Item.28 0.1737 0.1013 1.7142
## (Intercept).Item.29 -0.7677 0.1044 -7.3553
## (Intercept).Item.30 -0.2510 0.0857 -2.9279
## (Intercept).Item.31 2.8657 0.3308 8.6621
## (Intercept).Item.32 -1.6542 0.1123 -14.7369
## z1.Item.1 0.7973 0.1276 6.2488
## z1.Item.2 1.5214 0.1761 8.6375
## z1.Item.3 1.0843 0.1364 7.9517
## z1.Item.4 0.5940 0.1250 4.7512
## z1.Item.5 0.9941 0.1347 7.3785
## z1.Item.6 1.1351 0.1612 7.0394
## z1.Item.7 1.1533 0.2266 5.0896
## z1.Item.8 0.6793 0.1233 5.5107
## z1.Item.9 0.5449 0.1832 2.9736
## z1.Item.10 1.0557 0.1398 7.5543
## z1.Item.11 1.6552 0.4994 3.3146
## z1.Item.12 0.1528 0.1061 1.4405
## z1.Item.13 1.1448 0.1618 7.0762
## z1.Item.14 1.1293 0.1814 6.2258
## z1.Item.15 1.3785 0.2340 5.8923
## z1.Item.16 0.7314 0.1233 5.9327
## z1.Item.17 1.5260 0.3619 4.2170
## z1.Item.18 1.7175 0.1915 8.9684
## z1.Item.19 0.8430 0.1202 7.0113
## z1.Item.20 1.5629 0.2455 6.3652
## z1.Item.21 0.6168 0.2041 3.0217
## z1.Item.22 1.4993 0.2923 5.1293
## z1.Item.23 0.6578 0.1436 4.5804
## z1.Item.24 1.2452 0.1794 6.9395
## z1.Item.25 0.7980 0.1509 5.2889
## z1.Item.26 1.5819 0.1936 8.1694
## z1.Item.27 1.9173 0.2862 6.6985
## z1.Item.28 1.0785 0.1342 8.0368
## z1.Item.29 0.8388 0.1324 6.3373
## z1.Item.30 0.4007 0.0999 4.0104
## z1.Item.31 2.4569 0.3913 6.2786
## z1.Item.32 0.1436 0.1219 1.1778
## z2.Item.1 -0.3254 0.2025 -1.6066
## z2.Item.2 -0.1574 0.2679 -0.5877
## z2.Item.3 0.0151 0.2281 0.0662
## z2.Item.4 -0.4709 0.1916 -2.4574
## z2.Item.5 -0.1426 0.2141 -0.6660
## z2.Item.6 -0.3230 0.2758 -1.1710
## z2.Item.7 0.9197 0.3149 2.9204
## z2.Item.8 -0.1376 0.2076 -0.6626
## z2.Item.9 0.5580 0.2568 2.1732
## z2.Item.10 0.2752 0.2269 1.2127
## z2.Item.11 0.5508 0.5937 0.9277
## z2.Item.12 -0.3384 0.1482 -2.2826
## z2.Item.13 0.3663 0.2364 1.5493
## z2.Item.14 -0.5265 0.2548 -2.0666
## z2.Item.15 0.7316 0.3098 2.3616
## z2.Item.16 -0.3523 0.1912 -1.8424
## z2.Item.17 0.3604 0.4345 0.8295
## z2.Item.18 0.0598 0.3003 0.1992
## z2.Item.19 -0.0777 0.1906 -0.4075
## z2.Item.20 -0.1123 0.3214 -0.3493
## z2.Item.21 0.5868 0.2760 2.1257
## z2.Item.22 0.2941 0.3718 0.7912
## z2.Item.23 -0.6256 0.2127 -2.9419
## z2.Item.24 0.3981 0.2427 1.6407
## z2.Item.25 -0.6223 0.2173 -2.8638
## z2.Item.26 -0.4550 0.2803 -1.6229
## z2.Item.27 0.4574 0.3601 1.2703
## z2.Item.28 -0.0874 0.2109 -0.4147
## z2.Item.29 -0.4015 0.2174 -1.8467
## z2.Item.30 0.1299 0.1540 0.8437
## z2.Item.31 -0.1901 0.3921 -0.4847
## z2.Item.32 0.0658 0.1892 0.3479
##
## Integration:
## method: Gauss-Hermite
## quadrature points: 15
##
## Optimization:
## Convergence: 0
## max(|grad|): 0.1
## quasi-Newton: BFGS
#mirt
mmod3 <- mirt::mirt(dat, 2, verbose=FALSE)
mmod3
##
## Call:
## mirt::mirt(data = dat, model = 2, verbose = FALSE)
##
## Full-information item factor analysis with 2 factor(s).
## Converged within 1e-04 tolerance after 34 EM iterations.
## mirt version: 1.39.4
## M-step optimizer: BFGS
## EM acceleration: Ramsay
## Number of rectangular quadrature: 31
## Latent density type: Gaussian
##
## Log-likelihood = -9441.98
## Estimated parameters: 95
## AIC = 19073.96
## BIC = 19491.67; SABIC = 19190.07
## G2 (4294967200) = 11214.24, p = 1
## RMSEA = 0, CFI = NaN, TLI = NaN
coef(mmod3, simplify=TRUE)
## $items
## a1 a2 d g u
## Item.1 -0.784 -0.341 -1.059 0 1
## Item.2 -1.504 -0.178 0.441 0 1
## Item.3 -1.081 0.000 -1.145 0 1
## Item.4 -0.584 -0.472 -0.551 0 1
## Item.5 -0.990 -0.153 0.609 0 1
## Item.6 -1.122 -0.340 -2.065 0 1
## Item.7 -1.152 0.901 1.589 0 1
## Item.8 -0.674 -0.150 -1.508 0 1
## Item.9 -0.547 0.552 2.259 0 1
## Item.10 -1.050 0.256 -0.374 0 1
## Item.11 -1.671 0.532 5.337 0 1
## Item.12 -0.145 -0.348 -0.355 0 1
## Item.13 -1.140 0.366 0.872 0 1
## Item.14 -1.119 -0.552 1.256 0 1
## Item.15 -1.374 0.721 2.089 0 1
## Item.16 -0.721 -0.357 -0.388 0 1
## Item.17 -1.522 0.344 4.204 0 1
## Item.18 -1.705 0.032 -0.859 0 1
## Item.19 -0.835 -0.095 0.238 0 1
## Item.20 -1.553 -0.134 2.628 0 1
## Item.21 -0.612 0.579 2.652 0 1
## Item.22 -1.500 0.278 3.484 0 1
## Item.23 -0.644 -0.633 -0.909 0 1
## Item.24 -1.227 0.379 1.298 0 1
## Item.25 -0.784 -0.627 -0.602 0 1
## Item.26 -1.561 -0.466 -0.168 0 1
## Item.27 -1.904 0.422 2.815 0 1
## Item.28 -1.068 -0.096 0.174 0 1
## Item.29 -0.828 -0.419 -0.768 0 1
## Item.30 -0.396 0.120 -0.250 0 1
## Item.31 -2.365 -0.207 2.817 0 1
## Item.32 -0.134 0.000 -1.652 0 1
##
## $means
## F1 F2
## 0 0
##
## $cov
## F1 F2
## F1 1 0
## F2 0 1
summary(mmod3)
##
## Rotation: oblimin
##
## Rotated factor loadings:
##
## F1 F2 h2
## Item.1 0.027526 0.4316 0.20158
## Item.2 0.280473 0.4554 0.44200
## Item.3 0.299450 0.2978 0.28729
## Item.4 -0.111777 0.4619 0.16278
## Item.5 0.192402 0.3664 0.25733
## Item.6 0.117312 0.4878 0.32162
## Item.7 0.741632 -0.1701 0.42488
## Item.8 0.112853 0.2961 0.14123
## Item.9 0.497308 -0.1720 0.17244
## Item.10 0.435092 0.1451 0.28746
## Item.11 0.628622 0.1329 0.51484
## Item.12 -0.179771 0.2728 0.04686
## Item.13 0.505308 0.1047 0.33094
## Item.14 0.000217 0.5910 0.34945
## Item.15 0.688018 -0.0236 0.45408
## Item.16 -0.000515 0.4275 0.18253
## Item.17 0.536952 0.1972 0.45653
## Item.18 0.410483 0.3781 0.50095
## Item.19 0.189394 0.3010 0.19611
## Item.20 0.310467 0.4396 0.45630
## Item.21 0.525060 -0.1666 0.19662
## Item.22 0.504392 0.2268 0.44552
## Item.23 -0.185231 0.5584 0.21977
## Item.24 0.522923 0.1180 0.36275
## Item.25 -0.137477 0.5803 0.25822
## Item.26 0.146276 0.5924 0.47821
## Item.27 0.595517 0.2239 0.56758
## Item.28 0.242945 0.3489 0.28428
## Item.29 -0.005742 0.4822 0.22915
## Item.30 0.203786 0.0482 0.05584
## Item.31 0.372237 0.5301 0.66059
## Item.32 0.043912 0.0436 0.00617
##
## Rotated SS loadings: 4.451 4.119
##
## Factor correlations:
##
## F1 F2
## F1 1.000
## F2 0.611 1
Quadratic model
#ltm
(lmod4 <- ltm::ltm(dat ~ z1 + I(z1^2), IRT.param = FALSE))
##
## Call:
## ltm::ltm(formula = dat ~ z1 + I(z1^2), IRT.param = FALSE)
##
## Coefficients:
## (Intercept) z1 I(z1^2)
## Item.1 -1.234 0.712 0.226
## Item.2 0.202 1.579 0.365
## Item.3 -1.486 0.944 0.434
## Item.4 -0.814 0.566 0.312
## Item.5 0.623 0.979 -0.044
## Item.6 -2.468 0.846 0.516
## Item.7 1.451 0.940 -0.106
## Item.8 -1.737 0.635 0.239
## Item.9 2.222 0.464 -0.089
## Item.10 -0.463 0.986 0.121
## Item.11 5.764 3.307 0.747
## Item.12 -0.471 0.119 0.126
## Item.13 0.899 1.071 -0.094
## Item.14 0.910 1.224 0.403
## Item.15 2.027 1.139 -0.183
## Item.16 -0.643 0.712 0.305
## Item.17 4.035 1.678 0.195
## Item.18 -1.079 1.593 0.352
## Item.19 0.036 0.820 0.242
## Item.20 2.466 2.186 0.590
## Item.21 2.605 0.510 -0.103
## Item.22 3.420 2.016 0.382
## Item.23 -1.033 0.586 0.205
## Item.24 1.251 1.243 0.031
## Item.25 -0.732 0.771 0.192
## Item.26 -0.494 1.626 0.504
## Item.27 2.599 2.009 0.253
## Item.28 0.149 1.043 0.004
## Item.29 -1.146 0.780 0.460
## Item.30 -0.260 0.365 0.013
## Item.31 2.671 2.543 0.313
## Item.32 -1.902 0.035 0.223
##
## Log.Lik: -9432.199
summary(lmod4)
##
## Call:
## ltm::ltm(formula = dat ~ z1 + I(z1^2), IRT.param = FALSE)
##
## Model Summary:
## log.Lik AIC BIC
## -9432.199 19056.4 19478.5
##
## Coefficients:
## value std.err z.vals
## (Intercept).Item.1 -1.2338 0.1374 -8.9787
## (Intercept).Item.2 0.2017 0.1444 1.3971
## (Intercept).Item.3 -1.4861 0.1505 -9.8717
## (Intercept).Item.4 -0.8139 0.1275 -6.3825
## (Intercept).Item.5 0.6231 0.1367 4.5567
## (Intercept).Item.6 -2.4679 0.2019 -12.2249
## (Intercept).Item.7 1.4511 0.1581 9.1800
## (Intercept).Item.8 -1.7371 0.1485 -11.6981
## (Intercept).Item.9 2.2217 0.1758 12.6377
## (Intercept).Item.10 -0.4629 0.1302 -3.5562
## (Intercept).Item.11 5.7639 1.4685 3.9251
## (Intercept).Item.12 -0.4708 0.1114 -4.2257
## (Intercept).Item.13 0.8985 0.1391 6.4612
## (Intercept).Item.14 0.9099 0.1469 6.1933
## (Intercept).Item.15 2.0266 0.2049 9.8922
## (Intercept).Item.16 -0.6427 0.1241 -5.1795
## (Intercept).Item.17 4.0350 0.4450 9.0680
## (Intercept).Item.18 -1.0792 0.1625 -6.6411
## (Intercept).Item.19 0.0364 0.1274 0.2859
## (Intercept).Item.20 2.4661 0.2645 9.3244
## (Intercept).Item.21 2.6045 0.2069 12.5899
## (Intercept).Item.22 3.4200 0.3754 9.1105
## (Intercept).Item.23 -1.0334 0.1306 -7.9154
## (Intercept).Item.24 1.2514 0.1562 8.0114
## (Intercept).Item.25 -0.7324 0.1263 -5.7984
## (Intercept).Item.26 -0.4938 0.1422 -3.4731
## (Intercept).Item.27 2.5987 0.2595 10.0130
## (Intercept).Item.28 0.1489 0.1342 1.1099
## (Intercept).Item.29 -1.1456 0.1445 -7.9264
## (Intercept).Item.30 -0.2598 0.1124 -2.3109
## (Intercept).Item.31 2.6707 0.3079 8.6728
## (Intercept).Item.32 -1.9023 0.1517 -12.5412
## z1.Item.1 0.7117 0.1172 6.0741
## z1.Item.2 1.5790 0.2005 7.8759
## z1.Item.3 0.9445 0.1329 7.1068
## z1.Item.4 0.5657 0.1083 5.2226
## z1.Item.5 0.9789 0.1285 7.6190
## z1.Item.6 0.8460 0.1446 5.8515
## z1.Item.7 0.9397 0.1463 6.4233
## z1.Item.8 0.6346 0.1241 5.1132
## z1.Item.9 0.4636 0.1503 3.0853
## z1.Item.10 0.9858 0.1261 7.8160
## z1.Item.11 3.3074 2.4813 1.3329
## z1.Item.12 0.1192 0.0925 1.2893
## z1.Item.13 1.0705 0.1382 7.7479
## z1.Item.14 1.2236 0.2166 5.6491
## z1.Item.15 1.1390 0.1851 6.1522
## z1.Item.16 0.7124 0.1151 6.1905
## z1.Item.17 1.6776 0.7281 2.3041
## z1.Item.18 1.5933 0.1764 9.0346
## z1.Item.19 0.8198 0.1254 6.5377
## z1.Item.20 2.1861 0.5648 3.8708
## z1.Item.21 0.5104 0.1766 2.8894
## z1.Item.22 2.0164 0.6726 2.9981
## z1.Item.23 0.5862 0.1084 5.4053
## z1.Item.24 1.2433 0.1824 6.8153
## z1.Item.25 0.7715 0.1146 6.7312
## z1.Item.26 1.6264 0.1909 8.5211
## z1.Item.27 2.0093 0.5103 3.9379
## z1.Item.28 1.0430 0.1291 8.0762
## z1.Item.29 0.7801 0.1262 6.1819
## z1.Item.30 0.3652 0.0962 3.7972
## z1.Item.31 2.5428 0.6264 4.0593
## z1.Item.32 0.0352 0.1102 0.3196
## I(z1^2).Item.1 0.2265 0.1003 2.2570
## I(z1^2).Item.2 0.3650 0.1583 2.3053
## I(z1^2).Item.3 0.4336 0.1080 4.0134
## I(z1^2).Item.4 0.3116 0.0966 3.2246
## I(z1^2).Item.5 -0.0441 0.1238 -0.3560
## I(z1^2).Item.6 0.5159 0.1176 4.3851
## I(z1^2).Item.7 -0.1062 0.1303 -0.8147
## I(z1^2).Item.8 0.2395 0.0925 2.5889
## I(z1^2).Item.9 -0.0891 0.1057 -0.8432
## I(z1^2).Item.10 0.1209 0.1153 1.0484
## I(z1^2).Item.11 0.7474 0.9567 0.7812
## I(z1^2).Item.12 0.1262 0.0741 1.7032
## I(z1^2).Item.13 -0.0945 0.1208 -0.7820
## I(z1^2).Item.14 0.4027 0.1681 2.3965
## I(z1^2).Item.15 -0.1834 0.1772 -1.0351
## I(z1^2).Item.16 0.3045 0.0975 3.1230
## I(z1^2).Item.17 0.1946 0.3166 0.6147
## I(z1^2).Item.18 0.3520 0.1633 2.1557
## I(z1^2).Item.19 0.2418 0.1135 2.1301
## I(z1^2).Item.20 0.5901 0.3047 1.9367
## I(z1^2).Item.21 -0.1028 0.1238 -0.8302
## I(z1^2).Item.22 0.3816 0.2989 1.2767
## I(z1^2).Item.23 0.2045 0.0935 2.1865
## I(z1^2).Item.24 0.0313 0.1561 0.2003
## I(z1^2).Item.25 0.1916 0.0982 1.9501
## I(z1^2).Item.26 0.5043 0.1356 3.7191
## I(z1^2).Item.27 0.2530 0.2913 0.8686
## I(z1^2).Item.28 0.0039 0.1276 0.0304
## I(z1^2).Item.29 0.4598 0.1176 3.9107
## I(z1^2).Item.30 0.0126 0.0786 0.1600
## I(z1^2).Item.31 0.3130 0.3492 0.8965
## I(z1^2).Item.32 0.2231 0.0817 2.7306
##
## Integration:
## method: Gauss-Hermite
## quadrature points: 21
##
## Optimization:
## Convergence: 0
## max(|grad|): 0.0094
## quasi-Newton: BFGS
#mirt (can be more specific about where the loadings should be)
model <- mirt.model('Theta = 1-32
(Theta*Theta) = 1-32')
(mmod4 <- mirt::mirt(dat, model, SE=TRUE, verbose=FALSE))
## EM cycles terminated after 500 iterations.
##
## Call:
## mirt::mirt(data = dat, model = model, SE = TRUE, verbose = FALSE)
##
## Full-information item factor analysis with 1 factor(s).
## FAILED TO CONVERGE within 1e-04 tolerance after 500 EM iterations.
## mirt version: 1.39.4
## M-step optimizer: BFGS
## EM acceleration: Ramsay
## Number of rectangular quadrature: 61
## Latent density type: Gaussian
##
## Information matrix estimated with method: Oakes
## Second-order test: model is a possible local maximum
## Condition number of information matrix = 62443.82
##
## Log-likelihood = -9464.029
## Estimated parameters: 96
## AIC = 19120.06
## BIC = 19542.16; SABIC = 19237.39
## G2 (4294967199) = 11258.34, p = 1
## RMSEA = 0, CFI = NaN, TLI = NaN
coef(mmod4, simplify=TRUE)
## $items
## a1 a2 d g u
## Item.1 0.353 0.632 -1.628 0 1
## Item.2 1.331 1.414 -0.692 0 1
## Item.3 0.763 0.769 -1.817 0 1
## Item.4 0.242 0.601 -1.104 0 1
## Item.5 0.806 0.810 -0.113 0 1
## Item.6 0.610 0.771 -2.702 0 1
## Item.7 1.905 0.903 0.972 0 1
## Item.8 0.220 0.589 -2.087 0 1
## Item.9 0.558 0.296 1.861 0 1
## Item.10 0.813 0.679 -0.956 0 1
## Item.11 6.980 5.207 4.802 0 1
## Item.12 0.027 0.180 -0.526 0 1
## Item.13 1.103 0.795 0.167 0 1
## Item.14 0.764 1.265 0.165 0 1
## Item.15 3.366 1.713 1.616 0 1
## Item.16 0.269 0.708 -1.036 0 1
## Item.17 5.955 3.131 4.509 0 1
## Item.18 1.254 1.266 -1.873 0 1
## Item.19 0.589 0.668 -0.372 0 1
## Item.20 2.114 2.247 1.215 0 1
## Item.21 0.893 0.395 2.243 0 1
## Item.22 3.193 2.303 2.491 0 1
## Item.23 0.234 0.570 -1.396 0 1
## Item.24 1.848 1.174 0.531 0 1
## Item.25 0.090 0.858 -1.356 0 1
## Item.26 0.979 1.565 -1.444 0 1
## Item.27 3.208 2.493 1.440 0 1
## Item.28 0.735 0.823 -0.562 0 1
## Item.29 0.335 0.790 -1.482 0 1
## Item.30 0.453 0.156 -0.398 0 1
## Item.31 4.846 4.485 1.068 0 1
## Item.32 0.234 0.111 -1.778 0 1
##
## $means
## Theta
## 0
##
## $cov
## Theta
## Theta 1
coef(mmod4, printSE=TRUE)
## $Item.1
## a1 a2 d logit(g) logit(u)
## par 0.353 0.632 -1.628 -999 999
## SE 0.357 0.151 0.186 NA NA
##
## $Item.2
## a1 a2 d logit(g) logit(u)
## par 1.331 1.414 -0.692 -999 999
## SE 0.524 0.359 0.318 NA NA
##
## $Item.3
## a1 a2 d logit(g) logit(u)
## par 0.763 0.769 -1.817 -999 999
## SE 0.340 0.209 0.231 NA NA
##
## $Item.4
## a1 a2 d logit(g) logit(u)
## par 0.242 0.601 -1.104 -999 999
## SE 0.321 0.133 0.156 NA NA
##
## $Item.5
## a1 a2 d logit(g) logit(u)
## par 0.806 0.810 -0.113 -999 999
## SE 0.391 0.273 0.255 NA NA
##
## $Item.6
## a1 a2 d logit(g) logit(u)
## par 0.610 0.771 -2.702 -999 999
## SE 0.406 0.199 0.262 NA NA
##
## $Item.7
## a1 a2 d logit(g) logit(u)
## par 1.905 0.903 0.972 -999 999
## SE 0.473 0.557 0.377 NA NA
##
## $Item.8
## a1 a2 d logit(g) logit(u)
## par 0.220 0.589 -2.087 -999 999
## SE 0.225 0.104 0.168 NA NA
##
## $Item.9
## a1 a2 d logit(g) logit(u)
## par 0.558 0.296 1.861 -999 999
## SE 0.276 0.209 0.236 NA NA
##
## $Item.10
## a1 a2 d logit(g) logit(u)
## par 0.813 0.679 -0.956 -999 999
## SE 0.237 0.202 0.205 NA NA
##
## $Item.11
## a1 a2 d logit(g) logit(u)
## par 6.980 5.207 4.802 -999 999
## SE 10.084 6.895 3.390 NA NA
##
## $Item.12
## a1 a2 d logit(g) logit(u)
## par 0.027 0.18 -0.526 -999 999
## SE 0.150 0.08 0.116 NA NA
##
## $Item.13
## a1 a2 d logit(g) logit(u)
## par 1.103 0.795 0.167 -999 999
## SE 0.298 0.308 0.274 NA NA
##
## $Item.14
## a1 a2 d logit(g) logit(u)
## par 0.764 1.265 0.165 -999 999
## SE 0.483 0.296 0.198 NA NA
##
## $Item.15
## a1 a2 d logit(g) logit(u)
## par 3.366 1.713 1.616 -999 999
## SE 0.986 0.888 0.700 NA NA
##
## $Item.16
## a1 a2 d logit(g) logit(u)
## par 0.269 0.708 -1.036 -999 999
## SE 0.404 0.176 0.184 NA NA
##
## $Item.17
## a1 a2 d logit(g) logit(u)
## par 5.955 3.131 4.509 -999 999
## SE 3.163 1.952 1.741 NA NA
##
## $Item.18
## a1 a2 d logit(g) logit(u)
## par 1.254 1.266 -1.873 -999 999
## SE 0.415 0.305 0.302 NA NA
##
## $Item.19
## a1 a2 d logit(g) logit(u)
## par 0.589 0.668 -0.372 -999 999
## SE 0.246 0.163 0.165 NA NA
##
## $Item.20
## a1 a2 d logit(g) logit(u)
## par 2.114 2.247 1.215 -999 999
## SE 0.994 0.848 0.556 NA NA
##
## $Item.21
## a1 a2 d logit(g) logit(u)
## par 0.893 0.395 2.243 -999 999
## SE 0.344 0.291 0.292 NA NA
##
## $Item.22
## a1 a2 d logit(g) logit(u)
## par 3.193 2.303 2.491 -999 999
## SE 1.312 1.223 0.802 NA NA
##
## $Item.23
## a1 a2 d logit(g) logit(u)
## par 0.234 0.570 -1.396 -999 999
## SE 0.358 0.143 0.175 NA NA
##
## $Item.24
## a1 a2 d logit(g) logit(u)
## par 1.848 1.174 0.531 -999 999
## SE 0.377 0.517 0.389 NA NA
##
## $Item.25
## a1 a2 d logit(g) logit(u)
## par 0.09 0.858 -1.356 -999 999
## SE 0.52 0.193 0.198 NA NA
##
## $Item.26
## a1 a2 d logit(g) logit(u)
## par 0.979 1.565 -1.444 -999 999
## SE 0.726 0.372 0.329 NA NA
##
## $Item.27
## a1 a2 d logit(g) logit(u)
## par 3.208 2.493 1.440 -999 999
## SE 0.926 1.047 0.579 NA NA
##
## $Item.28
## a1 a2 d logit(g) logit(u)
## par 0.735 0.823 -0.562 -999 999
## SE 0.339 0.218 0.210 NA NA
##
## $Item.29
## a1 a2 d logit(g) logit(u)
## par 0.335 0.790 -1.482 -999 999
## SE 0.359 0.139 0.164 NA NA
##
## $Item.30
## a1 a2 d logit(g) logit(u)
## par 0.453 0.156 -0.398 -999 999
## SE 0.134 0.120 0.142 NA NA
##
## $Item.31
## a1 a2 d logit(g) logit(u)
## par 4.846 4.485 1.068 -999 999
## SE 1.951 1.888 1.128 NA NA
##
## $Item.32
## a1 a2 d logit(g) logit(u)
## par 0.234 0.111 -1.778 -999 999
## SE 0.169 0.102 0.154 NA NA
##
## $GroupPars
## MEAN_1 COV_11
## par 0 1
## SE NA NA
3PL model
(lmod5 <- ltm::tpm(dat, IRT.param = FALSE))
##
## Call:
## ltm::tpm(data = dat, IRT.param = FALSE)
##
## Coefficients:
## c.i beta.1i beta.2i
## Item.1 0.178 -3.293 2.289
## Item.2 0.193 -0.260 2.174
## Item.3 0.130 -2.781 2.336
## Item.4 0.265 -2.768 2.069
## Item.5 0.116 0.342 1.084
## Item.6 0.070 -4.453 2.926
## Item.7 0.000 1.368 0.988
## Item.8 0.133 -4.550 2.690
## Item.9 0.000 2.132 0.497
## Item.10 0.129 -0.930 1.371
## Item.11 0.000 5.267 1.610
## Item.12 0.408 -24.233 10.998
## Item.13 0.000 0.817 1.062
## Item.14 0.463 -0.113 1.905
## Item.15 0.000 1.915 1.271
## Item.16 0.285 -2.701 2.340
## Item.17 0.000 4.185 1.470
## Item.18 0.073 -1.522 2.286
## Item.19 0.237 -0.489 1.168
## Item.20 0.509 1.732 2.051
## Item.21 0.000 2.520 0.601
## Item.22 0.000 3.381 1.359
## Item.23 0.175 -2.172 1.443
## Item.24 0.219 0.857 1.433
## Item.25 0.201 -1.871 1.655
## Item.26 0.185 -1.460 2.913
## Item.27 0.245 2.367 1.979
## Item.28 0.000 0.141 1.056
## Item.29 0.205 -2.958 2.518
## Item.30 0.005 -0.262 0.378
## Item.31 0.163 2.511 2.423
## Item.32 0.155 -22.455 9.248
##
## Log.Lik: -9434.886
summary(lmod5)
##
## Call:
## ltm::tpm(data = dat, IRT.param = FALSE)
##
## Model Summary:
## log.Lik AIC BIC
## -9434.886 19061.77 19483.88
##
## Coefficients:
## value std.err z.vals
## c.1 0.1780 0.0402 4.4311
## c.2 0.1930 0.0668 2.8883
## c.3 0.1301 0.0354 3.6701
## c.4 0.2647 0.0347 7.6182
## c.5 0.1161 0.1724 0.6734
## c.6 0.0695 0.0223 3.1140
## c.7 0.0000 0.0000 0.0000
## c.8 0.1329 0.0361 3.6812
## c.9 0.0000 0.0082 0.0015
## c.10 0.1290 0.0809 1.5944
## c.11 0.0000 0.0023 0.0006
## c.12 0.4081 0.0219 18.6108
## c.13 0.0000 0.0000 0.0000
## c.14 0.4630 0.0878 5.2720
## c.15 0.0000 0.0003 0.0000
## c.16 0.2848 0.0392 7.2592
## c.17 0.0000 0.0046 0.0009
## c.18 0.0727 0.0382 1.9051
## c.19 0.2372 0.4168 0.5691
## c.20 0.5093 0.1960 2.5984
## c.21 0.0000 0.0021 0.0005
## c.22 0.0000 0.0004 0.0002
## c.23 0.1751 0.0397 4.4155
## c.24 0.2186 0.1642 1.3311
## c.25 0.2008 0.0790 2.5426
## c.26 0.1851 0.0483 3.8345
## c.27 0.2449 0.2624 0.9331
## c.28 0.0000 0.0014 0.0007
## c.29 0.2051 0.0365 5.6223
## c.30 0.0050 0.0821 0.0605
## c.31 0.1629 0.2313 0.7043
## c.32 0.1552 0.0367 4.2261
## beta.11 -3.2925 1.5622 -2.1076
## beta.12 -0.2604 0.3612 -0.7210
## beta.13 -2.7807 1.0034 -2.7713
## beta.14 -2.7685 0.9073 -3.0514
## beta.15 0.3420 0.4051 0.8442
## beta.16 -4.4526 2.4486 -1.8184
## beta.17 1.3677 0.1322 10.3481
## beta.18 -4.5497 3.6196 -1.2570
## beta.19 2.1318 0.1436 14.8433
## beta.110 -0.9303 0.4535 -2.0514
## beta.111 5.2667 0.7032 7.4897
## beta.112 -24.2331 55.0459 -0.4402
## beta.113 0.8165 0.1212 6.7372
## beta.114 -0.1134 0.5551 -0.2042
## beta.115 1.9154 0.1720 11.1389
## beta.116 -2.7005 1.0146 -2.6616
## beta.117 4.1854 0.4394 9.5247
## beta.118 -1.5225 0.4733 -3.2167
## beta.119 -0.4893 1.9459 -0.2514
## beta.120 1.7321 0.6106 2.8369
## beta.121 2.5205 0.1735 14.5283
## beta.122 3.3814 0.3214 10.5213
## beta.123 -2.1722 0.5759 -3.7715
## beta.124 0.8569 0.3825 2.2406
## beta.125 -1.8707 1.1134 -1.6801
## beta.126 -1.4600 0.6250 -2.3358
## beta.127 2.3667 0.4478 5.2848
## beta.128 0.1415 0.1145 1.2356
## beta.129 -2.9580 1.2577 -2.3520
## beta.130 -0.2616 0.2176 -1.2024
## beta.131 2.5108 0.3866 6.4943
## beta.132 -22.4551 404.4049 -0.0555
## beta.21 2.2885 1.3187 1.7354
## beta.22 2.1743 0.4604 4.7231
## beta.23 2.3355 0.6821 3.4242
## beta.24 2.0687 0.9024 2.2926
## beta.25 1.0836 0.2745 3.9474
## beta.26 2.9257 2.2270 1.3138
## beta.27 0.9876 0.1445 6.8356
## beta.28 2.6905 2.7920 0.9636
## beta.29 0.4966 0.1475 3.3654
## beta.210 1.3707 0.4081 3.3586
## beta.211 1.6099 0.4552 3.5364
## beta.212 10.9981 25.3850 0.4333
## beta.213 1.0621 0.1406 7.5560
## beta.214 1.9046 0.5868 3.2459
## beta.215 1.2711 0.1802 7.0539
## beta.216 2.3405 0.7881 2.9699
## beta.217 1.4701 0.3281 4.4811
## beta.218 2.2864 0.4673 4.8929
## beta.219 1.1683 1.1882 0.9833
## beta.220 2.0507 0.7315 2.8033
## beta.221 0.6010 0.1717 3.4993
## beta.222 1.3586 0.2731 4.9741
## beta.223 1.4433 0.4292 3.3629
## beta.224 1.4325 0.3254 4.4019
## beta.225 1.6547 1.0868 1.5224
## beta.226 2.9132 0.8263 3.5257
## beta.227 1.9790 0.5245 3.7729
## beta.228 1.0560 0.1402 7.5344
## beta.229 2.5178 1.3391 1.8802
## beta.230 0.3784 0.1045 3.6211
## beta.231 2.4232 0.6695 3.6194
## beta.232 9.2484 169.3080 0.0546
##
## Integration:
## method: Gauss-Hermite
## quadrature points: 21
##
## Optimization:
## Optimizer: optim (BFGS)
## Convergence: 0
## max(|grad|): 0.32
# mirt can also include prior distributions to help stabalize the model
(mmod5 <- mirt(dat, 1, '3PL', SE=TRUE, verbose=FALSE))
## EM cycles terminated after 500 iterations.
##
## Call:
## mirt(data = dat, model = 1, itemtype = "3PL", SE = TRUE, verbose = FALSE)
##
## Full-information item factor analysis with 1 factor(s).
## FAILED TO CONVERGE within 1e-04 tolerance after 500 EM iterations.
## mirt version: 1.39.4
## M-step optimizer: BFGS
## EM acceleration: Ramsay
## Number of rectangular quadrature: 61
## Latent density type: Gaussian
##
## Information matrix estimated with method: Oakes
## Second-order test: model is a possible local maximum
## Condition number of information matrix = 96844.12
##
## Log-likelihood = -9434.967
## Estimated parameters: 96
## AIC = 19061.93
## BIC = 19484.04; SABIC = 19179.27
## G2 (4294967199) = 11200.21, p = 1
## RMSEA = 0, CFI = NaN, TLI = NaN
coef(mmod5, simplify=TRUE)
## $items
## a1 d g u
## Item.1 2.428 -3.460 0.182 1
## Item.2 2.199 -0.257 0.194 1
## Item.3 2.303 -2.719 0.128 1
## Item.4 2.027 -2.694 0.263 1
## Item.5 1.098 0.341 0.120 1
## Item.6 2.763 -4.216 0.067 1
## Item.7 0.994 1.371 0.002 1
## Item.8 2.424 -4.138 0.129 1
## Item.9 0.496 2.109 0.021 1
## Item.10 1.352 -0.894 0.124 1
## Item.11 1.610 5.259 0.011 1
## Item.12 3.022 -6.835 0.400 1
## Item.13 1.069 0.822 0.001 1
## Item.14 1.880 -0.081 0.460 1
## Item.15 1.294 1.882 0.032 1
## Item.16 2.305 -2.642 0.284 1
## Item.17 1.477 4.182 0.013 1
## Item.18 2.340 -1.545 0.075 1
## Item.19 1.242 -0.583 0.259 1
## Item.20 1.999 1.771 0.495 1
## Item.21 0.603 2.508 0.013 1
## Item.22 1.362 3.380 0.007 1
## Item.23 1.463 -2.187 0.176 1
## Item.24 1.449 0.857 0.223 1
## Item.25 1.610 -1.804 0.197 1
## Item.26 2.963 -1.463 0.186 1
## Item.27 1.985 2.379 0.245 1
## Item.28 1.066 0.132 0.006 1
## Item.29 2.472 -2.885 0.204 1
## Item.30 0.390 -0.297 0.019 1
## Item.31 2.385 2.528 0.149 1
## Item.32 3.367 -8.443 0.151 1
##
## $means
## F1
## 0
##
## $cov
## F1
## F1 1
coef(mmod5, printSE=TRUE)
## $Item.1
## a1 d logit(g) logit(u)
## par 2.428 -3.460 -1.505 999
## SE 1.046 1.449 0.235 NA
##
## $Item.2
## a1 d logit(g) logit(u)
## par 2.199 -0.257 -1.423 999
## SE 0.465 0.355 0.426 NA
##
## $Item.3
## a1 d logit(g) logit(u)
## par 2.303 -2.719 -1.915 999
## SE 0.589 0.719 0.274 NA
##
## $Item.4
## a1 d logit(g) logit(u)
## par 2.027 -2.694 -1.033 999
## SE 0.528 0.695 0.166 NA
##
## $Item.5
## a1 d logit(g) logit(u)
## par 1.098 0.341 -1.995 999
## SE 0.262 0.394 1.543 NA
##
## $Item.6
## a1 d logit(g) logit(u)
## par 2.763 -4.216 -2.626 999
## SE 0.692 0.930 0.258 NA
##
## $Item.7
## a1 d logit(g) logit(u)
## par 0.994 1.371 -6.133 999
## SE 0.143 0.135 18.447 NA
##
## $Item.8
## a1 d logit(g) logit(u)
## par 2.424 -4.138 -1.911 999
## SE 0.961 1.465 0.226 NA
##
## $Item.9
## a1 d logit(g) logit(u)
## par 0.496 2.109 -3.860 999
## SE 0.150 0.446 18.009 NA
##
## $Item.10
## a1 d logit(g) logit(u)
## par 1.352 -0.894 -1.957 999
## SE 0.334 0.426 0.695 NA
##
## $Item.11
## a1 d logit(g) logit(u)
## par 1.610 5.259 -4.540 999
## SE 0.454 0.728 18.763 NA
##
## $Item.12
## a1 d logit(g) logit(u)
## par 3.022 -6.835 -0.406 999
## SE 4.387 9.246 0.128 NA
##
## $Item.13
## a1 d logit(g) logit(u)
## par 1.069 0.822 -7.332 999
## SE 0.137 0.112 17.687 NA
##
## $Item.14
## a1 d logit(g) logit(u)
## par 1.880 -0.081 -0.162 999
## SE 0.551 0.526 0.350 NA
##
## $Item.15
## a1 d logit(g) logit(u)
## par 1.294 1.882 -3.403 999
## SE 0.248 0.369 8.636 NA
##
## $Item.16
## a1 d logit(g) logit(u)
## par 2.305 -2.642 -0.926 999
## SE 0.758 0.954 0.192 NA
##
## $Item.17
## a1 d logit(g) logit(u)
## par 1.477 4.182 -4.314 999
## SE 0.332 0.500 19.165 NA
##
## $Item.18
## a1 d logit(g) logit(u)
## par 2.340 -1.545 -2.510 999
## SE 0.488 0.444 0.538 NA
##
## $Item.19
## a1 d logit(g) logit(u)
## par 1.242 -0.583 -1.050 999
## SE 0.583 0.853 0.872 NA
##
## $Item.20
## a1 d logit(g) logit(u)
## par 1.999 1.771 -0.020 999
## SE 0.735 0.599 0.857 NA
##
## $Item.21
## a1 d logit(g) logit(u)
## par 0.603 2.508 -4.301 999
## SE 0.171 0.321 18.439 NA
##
## $Item.22
## a1 d logit(g) logit(u)
## par 1.362 3.380 -4.985 999
## SE 0.260 0.331 18.742 NA
##
## $Item.23
## a1 d logit(g) logit(u)
## par 1.463 -2.187 -1.542 999
## SE 0.409 0.581 0.272 NA
##
## $Item.24
## a1 d logit(g) logit(u)
## par 1.449 0.857 -1.249 999
## SE 0.313 0.377 0.901 NA
##
## $Item.25
## a1 d logit(g) logit(u)
## par 1.610 -1.804 -1.406 999
## SE 0.458 0.604 0.318 NA
##
## $Item.26
## a1 d logit(g) logit(u)
## par 2.963 -1.463 -1.477 999
## SE 0.778 0.615 0.305 NA
##
## $Item.27
## a1 d logit(g) logit(u)
## par 1.985 2.379 -1.125 999
## SE 0.514 0.430 1.377 NA
##
## $Item.28
## a1 d logit(g) logit(u)
## par 1.066 0.132 -5.096 999
## SE 0.197 0.273 18.227 NA
##
## $Item.29
## a1 d logit(g) logit(u)
## par 2.472 -2.885 -1.363 999
## SE 0.631 0.761 0.184 NA
##
## $Item.30
## a1 d logit(g) logit(u)
## par 0.390 -0.297 -3.927 999
## SE 0.293 1.250 26.424 NA
##
## $Item.31
## a1 d logit(g) logit(u)
## par 2.385 2.528 -1.74 999
## SE 0.625 0.375 1.82 NA
##
## $Item.32
## a1 d logit(g) logit(u)
## par 3.367 -8.443 -1.730 999
## SE 2.288 5.099 0.129 NA
##
## $GroupPars
## MEAN_1 COV_11
## par 0 1
## SE NA NA
ltm
can get hung up in certain likelihood regions, therefore re-running the GRM is recommended using different starting values.
See this (crossvalidated post)[http://stats.stackexchange.com/questions/63891/is-r-output-reliable-specially-irt-package-ltm/95324#95324] for details.
(lmod6 <- ltm::grm(Science, IRT.param = FALSE))
##
## Call:
## ltm::grm(data = Science, IRT.param = FALSE)
##
## Coefficients:
## beta.1 beta.2 beta.3 beta
## Comfort -4.427 -2.321 1.273 0.411
## Environment -3.381 -1.240 0.984 1.570
## Work -2.388 -0.689 1.815 -0.074
## Future -3.301 -1.273 1.128 0.108
## Technology -4.063 -1.461 1.060 1.650
## Industry -4.711 -2.510 0.469 1.642
## Benefit -2.880 -0.812 1.397 0.136
##
## Log.Lik: -2998.129
summary(lmod6)
##
## Call:
## ltm::grm(data = Science, IRT.param = FALSE)
##
## Model Summary:
## log.Lik AIC BIC
## -2998.129 6052.259 6163.454
##
## Coefficients:
## $Comfort
## value
## beta.1 -4.427
## beta.2 -2.321
## beta.3 1.273
## beta 0.411
##
## $Environment
## value
## beta.1 -3.381
## beta.2 -1.240
## beta.3 0.984
## beta 1.570
##
## $Work
## value
## beta.1 -2.388
## beta.2 -0.689
## beta.3 1.815
## beta -0.074
##
## $Future
## value
## beta.1 -3.301
## beta.2 -1.273
## beta.3 1.128
## beta 0.108
##
## $Technology
## value
## beta.1 -4.063
## beta.2 -1.461
## beta.3 1.060
## beta 1.650
##
## $Industry
## value
## beta.1 -4.711
## beta.2 -2.510
## beta.3 0.469
## beta 1.642
##
## $Benefit
## value
## beta.1 -2.880
## beta.2 -0.812
## beta.3 1.397
## beta 0.136
##
##
## Integration:
## method: Gauss-Hermite
## quadrature points: 21
##
## Optimization:
## Convergence: 0
## max(|grad|): 0.016
## quasi-Newton: BFGS
(mmod6 <- mirt(Science, 1, SE=TRUE, verbose=FALSE))
## Error: Input data must be integer or numeric values only
coef(mmod6, simplify=TRUE)
## Error in h(simpleError(msg, call)): error in evaluating the argument 'object' in selecting a method for function 'coef': object 'mmod6' not found
coef(mmod6, printSE=TRUE)
## Error in h(simpleError(msg, call)): error in evaluating the argument 'object' in selecting a method for function 'coef': object 'mmod6' not found
Same as the previous section, however all the slope/discrimination parameters are constrained to be equal.
(lmod6 <- ltm::grm(Science, IRT.param = FALSE, constrained = TRUE))
##
## Call:
## ltm::grm(data = Science, constrained = TRUE, IRT.param = FALSE)
##
## Coefficients:
## beta.1 beta.2 beta.3 beta
## Comfort -4.694 -2.526 1.402 0.84
## Environment -2.809 -0.993 0.793 0.84
## Work -2.644 -0.810 2.025 0.84
## Future -3.608 -1.450 1.286 0.84
## Technology -3.337 -1.132 0.826 0.84
## Industry -3.974 -2.027 0.389 0.84
## Benefit -3.169 -0.936 1.571 0.84
##
## Log.Lik: -3014.706
summary(lmod6)
##
## Call:
## ltm::grm(data = Science, constrained = TRUE, IRT.param = FALSE)
##
## Model Summary:
## log.Lik AIC BIC
## -3014.706 6073.413 6160.781
##
## Coefficients:
## $Comfort
## value
## beta.1 -4.694
## beta.2 -2.526
## beta.3 1.402
## beta 0.840
##
## $Environment
## value
## beta.1 -2.809
## beta.2 -0.993
## beta.3 0.793
## beta 0.840
##
## $Work
## value
## beta.1 -2.644
## beta.2 -0.810
## beta.3 2.025
## beta 0.840
##
## $Future
## value
## beta.1 -3.608
## beta.2 -1.450
## beta.3 1.286
## beta 0.840
##
## $Technology
## value
## beta.1 -3.337
## beta.2 -1.132
## beta.3 0.826
## beta 0.840
##
## $Industry
## value
## beta.1 -3.974
## beta.2 -2.027
## beta.3 0.389
## beta 0.840
##
## $Benefit
## value
## beta.1 -3.169
## beta.2 -0.936
## beta.3 1.571
## beta 0.840
##
##
## Integration:
## method: Gauss-Hermite
## quadrature points: 21
##
## Optimization:
## Convergence: 0
## max(|grad|): 0.028
## quasi-Newton: BFGS
# define loading pattern, and constrain parameters
# called a1 for each item to be equal
model <- mirt.model('F = 1-4
CONSTRAIN = (1-4, a1)')
(mmod6 <- mirt(Science, model, SE=TRUE, verbose=FALSE))
## Error: Input data must be integer or numeric values only
coef(mmod6, simplify=TRUE)
## Error in h(simpleError(msg, call)): error in evaluating the argument 'object' in selecting a method for function 'coef': object 'mmod6' not found
coef(mmod6, printSE=TRUE)
## Error in h(simpleError(msg, call)): error in evaluating the argument 'object' in selecting a method for function 'coef': object 'mmod6' not found
(lmod7 <- ltm::gpcm(Science, IRT.param = FALSE))
##
## Call:
## ltm::gpcm(data = Science, IRT.param = FALSE)
##
## Coefficients:
## Catgr.1 Catgr.2 Catgr.3 Dscrmn
## Comfort 2.836 2.498 -1.328 0.871
## Environment 1.134 0.478 -0.125 -0.035
## Work 1.705 0.868 -1.727 0.837
## Future 4.618 2.170 -1.847 2.217
## Technology 1.622 0.546 -0.221 -0.038
## Industry 1.576 1.315 -0.070 0.129
## Benefit 2.106 0.803 -1.181 0.730
##
## Log.Lik: -3002.423
summary(lmod7)
##
## Call:
## ltm::gpcm(data = Science, IRT.param = FALSE)
##
## Model Summary:
## log.Lik AIC BIC
## -3002.423 6060.846 6172.041
##
## Coefficients:
## $Comfort
## value std.err z.value
## Catgr.1 2.836 0.594 4.771
## Catgr.2 2.498 0.236 10.578
## Catgr.3 -1.328 0.159 -8.367
## Dscrmn 0.871 0.179 4.854
##
## $Environment
## value std.err z.value
## Catgr.1 1.134 0.214 5.309
## Catgr.2 0.478 0.134 3.557
## Catgr.3 -0.125 0.121 -1.033
## Dscrmn -0.035 0.072 -0.489
##
## $Work
## value std.err z.value
## Catgr.1 1.705 0.267 6.388
## Catgr.2 0.868 0.140 6.195
## Catgr.3 -1.727 0.198 -8.719
## Dscrmn 0.837 0.146 5.742
##
## $Future
## value std.err z.value
## Catgr.1 4.618 1.159 3.984
## Catgr.2 2.170 0.477 4.553
## Catgr.3 -1.847 0.447 -4.136
## Dscrmn 2.217 0.666 3.331
##
## $Technology
## value std.err z.value
## Catgr.1 1.622 0.258 6.286
## Catgr.2 0.546 0.132 4.143
## Catgr.3 -0.221 0.120 -1.844
## Dscrmn -0.038 0.077 -0.497
##
## $Industry
## value std.err z.value
## Catgr.1 1.576 0.350 4.496
## Catgr.2 1.315 0.166 7.943
## Catgr.3 -0.070 0.110 -0.635
## Dscrmn 0.129 0.089 1.451
##
## $Benefit
## value std.err z.value
## Catgr.1 2.106 0.302 6.969
## Catgr.2 0.803 0.141 5.675
## Catgr.3 -1.181 0.169 -6.977
## Dscrmn 0.730 0.146 4.996
##
##
## Integration:
## method: Gauss-Hermite
## quadrature points: 21
##
## Optimization:
## Convergence: 0
## max(|grad|): 0.017
## optimizer: nlminb
(mmod7 <- mirt(Science, 1, 'gpcm', SE=TRUE, verbose=FALSE))
## Error: Input data must be integer or numeric values only
coef(mmod7, simplify=TRUE)
## Error in h(simpleError(msg, call)): error in evaluating the argument 'object' in selecting a method for function 'coef': object 'mmod7' not found
coef(mmod7, printSE=TRUE)
## Error in h(simpleError(msg, call)): error in evaluating the argument 'object' in selecting a method for function 'coef': object 'mmod7' not found
plot(lmod2, items = 1:3)
plot(mmod2, type = 'trace', which.items = 1:3)
plot(mmod2, type = 'trace', which.items = 1:3, facet_items = FALSE)
#scored with EAP estimator
fs <- factor.scores(lmod2)
head(fs$score.dat)
## Item.1 Item.2 Item.3 Item.4 Item.5 Item.6 Item.7 Item.8 Item.9 Item.10
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## Item.11 Item.12 Item.13 Item.14 Item.15 Item.16 Item.17 Item.18 Item.19
## 1 1 0 0 1 0 1 0 0 1
## 2 1 0 0 1 1 1 1 0 0
## 3 1 0 0 1 1 1 1 0 0
## 4 1 1 0 0 1 0 1 0 1
## 5 1 1 0 1 0 0 1 0 0
## 6 1 1 0 1 1 1 1 0 1
## Item.20 Item.21 Item.22 Item.23 Item.24 Item.25 Item.26 Item.27 Item.28
## 1 1 1 1 1 0 1 0 1 0
## 2 0 0 1 0 1 0 0 1 1
## 3 0 1 1 0 1 1 0 1 0
## 4 0 1 1 0 0 0 0 1 0
## 5 1 1 0 0 0 0 0 0 0
## 6 1 1 1 0 0 0 0 0 0
## Item.29 Item.30 Item.31 Item.32 Obs Exp z1 se.z1
## 1 0 0 1 0 1 7.320352e-07 -1.125597 0.3501032
## 2 0 0 1 0 1 1.192118e-05 -1.035763 0.3510456
## 3 0 0 0 1 1 7.614205e-06 -1.268032 0.3503369
## 4 0 1 0 0 1 2.158900e-04 -1.578284 0.3585213
## 5 0 0 0 0 1 1.354704e-03 -2.044771 0.3858258
## 6 1 1 0 0 1 7.785685e-06 -1.299507 0.3506911
fs2 <- fscores(mmod2)
head(fs2)
## F1
## [1,] 2.66337667
## [2,] -0.04119074
## [3,] 0.07447363
## [4,] -0.43752254
## [5,] 0.67469545
## [6,] 0.45359319
#item fit
item.fit(lmod2)
##
## Item-Fit Statistics and P-values
##
## Call:
## ltm::ltm(formula = dat ~ z1, IRT.param = FALSE)
##
## Alternative: Items do not fit the model
## Ability Categories: 10
##
## X^2 Pr(>X^2)
## Item.1 21.3785 0.0062
## Item.2 15.4309 0.0513
## Item.3 21.2194 0.0066
## Item.4 18.6917 0.0166
## Item.5 9.8397 0.2765
## Item.6 25.4488 0.0013
## Item.7 4.3253 0.8266
## Item.8 11.4643 0.1768
## Item.9 10.1344 0.2557
## Item.10 9.8959 0.2724
## Item.11 6.1205 0.6337
## Item.12 2.4867 0.9623
## Item.13 17.1237 0.0288
## Item.14 14.4470 0.0708
## Item.15 13.3227 0.1012
## Item.16 9.7185 0.2853
## Item.17 10.8889 0.2081
## Item.18 17.4339 0.0259
## Item.19 16.1523 0.0403
## Item.20 10.9223 0.2061
## Item.21 5.5782 0.6944
## Item.22 7.9583 0.4376
## Item.23 13.4828 0.0963
## Item.24 9.6888 0.2876
## Item.25 21.5701 0.0058
## Item.26 14.9709 0.0597
## Item.27 16.8923 0.0313
## Item.28 7.7372 0.4596
## Item.29 18.1369 0.0202
## Item.30 2.3572 0.9681
## Item.31 20.9169 0.0074
## Item.32 10.4562 0.2345
itemfit(mmod2) # more optimal S-X2 statistics
## item S_X2 df.S_X2 RMSEA.S_X2 p.S_X2
## 1 Item.1 10.961 18 0.000 0.896
## 2 Item.2 13.211 15 0.000 0.586
## 3 Item.3 14.706 17 0.000 0.617
## 4 Item.4 30.805 20 0.030 0.058
## 5 Item.5 15.192 18 0.000 0.649
## 6 Item.6 16.752 16 0.009 0.402
## 7 Item.7 11.416 17 0.000 0.834
## 8 Item.8 24.507 17 0.027 0.106
## 9 Item.9 15.951 18 0.000 0.596
## 10 Item.10 14.804 18 0.000 0.675
## 11 Item.11 0.325 3 0.000 0.955
## 12 Item.12 19.751 21 0.000 0.537
## 13 Item.13 22.074 17 0.022 0.182
## 14 Item.14 25.376 17 0.029 0.087
## 15 Item.15 18.788 16 0.017 0.280
## 16 Item.16 31.498 18 0.035 0.025
## 17 Item.17 15.577 11 0.026 0.158
## 18 Item.18 11.070 14 0.000 0.680
## 19 Item.19 20.530 18 0.015 0.304
## 20 Item.20 25.168 14 0.036 0.033
## 21 Item.21 24.823 17 0.028 0.099
## 22 Item.22 29.299 12 0.049 0.004
## 23 Item.23 16.721 19 0.000 0.609
## 24 Item.24 12.657 16 0.000 0.698
## 25 Item.25 46.099 19 0.049 0.000
## 26 Item.26 16.170 16 0.004 0.441
## 27 Item.27 7.752 13 0.000 0.859
## 28 Item.28 19.571 17 0.016 0.297
## 29 Item.29 20.183 19 0.010 0.384
## 30 Item.30 29.348 21 0.026 0.106
## 31 Item.31 14.213 12 0.018 0.287
## 32 Item.32 15.005 20 0.000 0.776
itemfit(mmod2, fit_stats = 'X2') # Fit stat used by ltm (suboptimal)
## item X2 df.X2 RMSEA.X2 p.X2
## 1 Item.1 18.929 8 0.048 0.015
## 2 Item.2 14.484 8 0.037 0.070
## 3 Item.3 19.153 8 0.048 0.014
## 4 Item.4 18.168 8 0.046 0.020
## 5 Item.5 8.746 8 0.012 0.364
## 6 Item.6 21.168 8 0.052 0.007
## 7 Item.7 2.706 8 0.000 0.951
## 8 Item.8 9.750 8 0.019 0.283
## 9 Item.9 9.590 8 0.018 0.295
## 10 Item.10 8.064 8 0.004 0.427
## 11 Item.11 5.787 8 0.000 0.671
## 12 Item.12 3.571 8 0.000 0.894
## 13 Item.13 14.709 8 0.037 0.065
## 14 Item.14 13.457 8 0.034 0.097
## 15 Item.15 12.043 8 0.029 0.149
## 16 Item.16 8.672 8 0.012 0.371
## 17 Item.17 9.644 8 0.019 0.291
## 18 Item.18 13.759 8 0.035 0.088
## 19 Item.19 14.931 8 0.038 0.061
## 20 Item.20 8.979 8 0.014 0.344
## 21 Item.21 5.177 8 0.000 0.738
## 22 Item.22 8.350 8 0.009 0.400
## 23 Item.23 12.731 8 0.031 0.121
## 24 Item.24 8.137 8 0.005 0.420
## 25 Item.25 18.691 8 0.047 0.017
## 26 Item.26 13.632 8 0.034 0.092
## 27 Item.27 13.554 8 0.034 0.094
## 28 Item.28 6.875 8 0.000 0.550
## 29 Item.29 17.224 8 0.044 0.028
## 30 Item.30 2.362 8 0.000 0.968
## 31 Item.31 16.227 8 0.041 0.039
## 32 Item.32 10.454 8 0.023 0.235