Skip to contents

Given an estimated model from any of mirt's model fitting functions this function will convert the model parameters into the design data frame of starting values and other parameter characteristics (similar to using the pars = 'values' for obtaining starting values).

Usage

mod2values(x)

Arguments

x

an estimated model x from the mirt package

References

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

See also

Author

Phil Chalmers rphilip.chalmers@gmail.com

Examples


# \donttest{
dat <- expand.table(LSAT7)
mod <- mirt(dat, "F=1-5
                  CONSTRAIN=(1-5, a1)")
#> 
Iteration: 1, Log-Lik: -2668.786, Max-Change: 0.06198
Iteration: 2, Log-Lik: -2666.196, Max-Change: 0.03935
Iteration: 3, Log-Lik: -2665.347, Max-Change: 0.02405
Iteration: 4, Log-Lik: -2664.955, Max-Change: 0.00867
Iteration: 5, Log-Lik: -2664.920, Max-Change: 0.00509
Iteration: 6, Log-Lik: -2664.907, Max-Change: 0.00294
Iteration: 7, Log-Lik: -2664.902, Max-Change: 0.00135
Iteration: 8, Log-Lik: -2664.901, Max-Change: 0.00079
Iteration: 9, Log-Lik: -2664.901, Max-Change: 0.00046
Iteration: 10, Log-Lik: -2664.901, Max-Change: 0.00022
Iteration: 11, Log-Lik: -2664.901, Max-Change: 0.00011
Iteration: 12, Log-Lik: -2664.901, Max-Change: 0.00006
values <- mod2values(mod)
values
#>    group   item     class   name parnum value lbound ubound   est const nconst
#> 1    all Item.1      dich     a1      1 1.011   -Inf    Inf  TRUE     1   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.011   -Inf    Inf  TRUE     1   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.011   -Inf    Inf  TRUE     1   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.011   -Inf    Inf  TRUE     1   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.011   -Inf    Inf  TRUE     1   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.000      0    Inf FALSE  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

# use the converted values as starting values in a new model, and reduce TOL
mod2 <- mirt(dat, 1, pars = values, TOL=1e-5)
#> 
Iteration: 1, Log-Lik: -2664.901, Max-Change: 0.00003
Iteration: 2, Log-Lik: -2664.901, Max-Change: 0.00002
Iteration: 3, Log-Lik: -2664.901, Max-Change: 0.00006
Iteration: 4, Log-Lik: -2664.901, Max-Change: 0.00001
Iteration: 5, Log-Lik: -2664.901, Max-Change: 0.00001
coef(mod2, simplify=TRUE)
#> $items
#>           a1     d g u
#> Item.1 1.011 1.868 0 1
#> Item.2 1.011 0.791 0 1
#> Item.3 1.011 1.461 0 1
#> Item.4 1.011 0.521 0 1
#> Item.5 1.011 1.993 0 1
#> 
#> $means
#> F1 
#>  0 
#> 
#> $cov
#>    F1
#> F1  1
#> 

# use parameters on different dataset
mod3 <- mirt(expand.table(LSAT6), pars=values)
#> 
Iteration: 1, Log-Lik: -2726.528, Max-Change: 1.26190
Iteration: 2, Log-Lik: -2470.667, Max-Change: 0.06153
Iteration: 3, Log-Lik: -2468.232, Max-Change: 0.03807
Iteration: 4, Log-Lik: -2467.241, Max-Change: 0.01880
Iteration: 5, Log-Lik: -2467.065, Max-Change: 0.01206
Iteration: 6, Log-Lik: -2466.992, Max-Change: 0.00781
Iteration: 7, Log-Lik: -2466.945, Max-Change: 0.00275
Iteration: 8, Log-Lik: -2466.941, Max-Change: 0.00180
Iteration: 9, Log-Lik: -2466.939, Max-Change: 0.00120
Iteration: 10, Log-Lik: -2466.938, Max-Change: 0.00040
Iteration: 11, Log-Lik: -2466.938, Max-Change: 0.00027
Iteration: 12, Log-Lik: -2466.938, Max-Change: 0.00016
Iteration: 13, Log-Lik: -2466.938, Max-Change: 0.00007
coef(mod3, simplify=TRUE)
#> $items
#>           a1     d g u
#> Item_1 0.755 2.730 0 1
#> Item_2 0.755 0.999 0 1
#> Item_3 0.755 0.240 0 1
#> Item_4 0.755 1.307 0 1
#> Item_5 0.755 2.100 0 1
#> 
#> $means
#> F1 
#>  0 
#> 
#> $cov
#>    F1
#> F1  1
#> 

# supports differing itemtypes on second model
sv <- mirt(Science, itemtype=c('graded', rep('gpcm', 3)), pars='values')
mod3 <- mirt(Science, pars = sv)  # itemtype omitted
#> 
Iteration: 1, Log-Lik: -1653.746, Max-Change: 1.05939
Iteration: 2, Log-Lik: -1617.934, Max-Change: 0.31003
Iteration: 3, Log-Lik: -1615.638, Max-Change: 0.27581
Iteration: 4, Log-Lik: -1613.939, Max-Change: 0.13745
Iteration: 5, Log-Lik: -1613.356, Max-Change: 0.06629
Iteration: 6, Log-Lik: -1613.181, Max-Change: 0.06863
Iteration: 7, Log-Lik: -1613.026, Max-Change: 0.05673
Iteration: 8, Log-Lik: -1612.996, Max-Change: 0.05075
Iteration: 9, Log-Lik: -1612.975, Max-Change: 0.04751
Iteration: 10, Log-Lik: -1612.903, Max-Change: 0.02376
Iteration: 11, Log-Lik: -1612.898, Max-Change: 0.02096
Iteration: 12, Log-Lik: -1612.896, Max-Change: 0.00446
Iteration: 13, Log-Lik: -1612.895, Max-Change: 0.00425
Iteration: 14, Log-Lik: -1612.894, Max-Change: 0.01450
Iteration: 15, Log-Lik: -1612.893, Max-Change: 0.01674
Iteration: 16, Log-Lik: -1612.892, Max-Change: 0.00694
Iteration: 17, Log-Lik: -1612.887, Max-Change: 0.00199
Iteration: 18, Log-Lik: -1612.886, Max-Change: 0.00144
Iteration: 19, Log-Lik: -1612.886, Max-Change: 0.00148
Iteration: 20, Log-Lik: -1612.886, Max-Change: 0.00035
Iteration: 21, Log-Lik: -1612.886, Max-Change: 0.00081
Iteration: 22, Log-Lik: -1612.886, Max-Change: 0.00044
Iteration: 23, Log-Lik: -1612.886, Max-Change: 0.00027
Iteration: 24, Log-Lik: -1612.886, Max-Change: 0.00013
Iteration: 25, Log-Lik: -1612.886, Max-Change: 0.00920
Iteration: 26, Log-Lik: -1612.885, Max-Change: 0.00092
Iteration: 27, Log-Lik: -1612.885, Max-Change: 0.00059
Iteration: 28, Log-Lik: -1612.885, Max-Change: 0.00095
Iteration: 29, Log-Lik: -1612.885, Max-Change: 0.00031
Iteration: 30, Log-Lik: -1612.885, Max-Change: 0.00015
Iteration: 31, Log-Lik: -1612.885, Max-Change: 0.00063
Iteration: 32, Log-Lik: -1612.885, Max-Change: 0.00018
Iteration: 33, Log-Lik: -1612.885, Max-Change: 0.00066
Iteration: 34, Log-Lik: -1612.885, Max-Change: 0.00038
Iteration: 35, Log-Lik: -1612.885, Max-Change: 0.00017
Iteration: 36, Log-Lik: -1612.885, Max-Change: 0.00011
Iteration: 37, Log-Lik: -1612.885, Max-Change: 0.00695
Iteration: 38, Log-Lik: -1612.885, Max-Change: 0.00024
Iteration: 39, Log-Lik: -1612.885, Max-Change: 0.00017
Iteration: 40, Log-Lik: -1612.885, Max-Change: 0.00073
Iteration: 41, Log-Lik: -1612.885, Max-Change: 0.00051
Iteration: 42, Log-Lik: -1612.885, Max-Change: 0.00028
Iteration: 43, Log-Lik: -1612.885, Max-Change: 0.00012
Iteration: 44, Log-Lik: -1612.885, Max-Change: 0.00060
Iteration: 45, Log-Lik: -1612.885, Max-Change: 0.00026
Iteration: 46, Log-Lik: -1612.885, Max-Change: 0.00009
coef(mod3, simplify=TRUE)$items
#>                a1       d1       d2         d3 ak0 ak1 ak2 ak3 d0
#> Comfort 1.0278666 4.842467 2.629427 -1.4610757  NA  NA  NA  NA NA
#> Work    0.8622915 1.735970 2.608453  0.8615093   0   1   2   3  0
#> Future  2.1388465 4.498623 6.612162  4.8108956   0   1   2   3  0
#> Benefit 0.7208997 2.096130 2.894803  1.7189648   0   1   2   3  0
extract.mirt(mod3, 'itemtype')
#> [1] "graded" "gpcm"   "gpcm"   "gpcm"  


# }