mokken-package {mokken} | R Documentation |
Mokken Scale Analysis
Description
Mokken scale analysis (Mokken, 1971; Sijtsma & Molenaar, 2002; Sijtsma & Van der Ark, 2017) is a scaling procedure for both dichotomous and polytomous items. It consists of an item selection algorithm to partition a set of items into Mokken scales and several methods to check the assumptions of two nonparametric item response theory models: the monotone homogeneity model and the double monotonicity model. The output of this R-package resembles the output of the stand-alone program MSP (Molenaar & Sijtsma, 2000).
Details
Package: | mokken |
Type: | Package |
Version: | 3.1.2 |
Date: | 2024-06-17 |
License: | GPL Version 2 or later |
The package contains principal functions for Mokken scale analysis.
The package contains the following data sets
acl | Scores on a personality checklist. |
autonomySupport | Scores from students on their teacher's autonomy support |
balance | Scores on balance taskts |
cavalini | Scores on an inventory on industrial malodor |
DS14 | Scores on a Type D test (bootstrap sample) |
mcmi | Scores on some items from the Dutch version of the Millon Clinical Multiaxial Inventory |
SWMD | Scores from pupils nested in classrooms on their well-being with teachers |
SWMDK | Scores from pupils nested in classrooms on their well-being with teachers and classmates |
transreas | Scores on a transitive reasoning test |
transreas2 | More scores on a transitive reasoning test |
trog | Scores from children on the clustered items of the Norwegian adaptation of the Test for Reception of Grammar |
A guide for Mokken scale analysis in R for people who do not know R (Van der Ark, 2010) is available as a vignette from https://sites.google.com/a/tilburguniversity.edu/avdrark/mokken. The Mokken package was created by Andries van der Ark, who is also the maintainer. Significant parts have been developed by Letty Koopman (multilevel and clustered item analysis) and Don van den Berg and Hendrik Straat (all C and C++ codes). Thanks are due to Michael Allerhand, Geert H. van Kollenburg, Renske E. Kuijpers, Rudy Ligtvoet, Hannah E. M. Oosterhuis, Daniel W. van der Palm, and Max Welz for contributing R code; to Geert H. van Kollenburg, Patrick Mair, and Don van Ravenswaaij for testing the software; to Wijbrandt van Schuur for comments on the vignette; to Michael Allerhand, Stephen Cubbellotti, Michael Dewey, Jasmin Durstin, Wilco H. M. Emons, Jue Huang, Michael Kubovy, Ivo Molenaar, Jonathan Rose, Tobias Schlaffer, Klaas Sijtsma, Iris Smits, Jia Jia Syu, Stefan Vermeent, Roger Watson, Stefanie Wind, Max Welz, and Na Yang for reporting comments or bugs; to Diederick Stoel (ProfitWise) for financial support, to Samantha Bouwmeester, Pierre Cavalini, Johan Denollet, Gina Rossi, Harrie C. M. Vorst, Ellen Iren Brinchmann, for permission to use their data; to Robert J. Mokken for lending his last name.
Version 0 was introduced in Van der Ark (2007). It included the functions
coefH | Scalability coefficients |
coefZ | Test statistics for scalability coefficients |
check.monotonicity | Investigate monotonicity assumptions |
check.restscore | Investigate nonintersection assumption using Method Restscore |
check.pmatrix | Investigate nonintersection assumption using Method Pmatrix |
search.normal | Mokken's automated item selection algorithm |
The following major modifications have been made.
aisp | More general automated item selection algorithm. |
Function search has become obsolete (Version 2.0) |
|
check.reliability | Compute reliability coefficients (Version 2.0) |
check.iio | Investigate invariant item orderings (Version 2.4) |
coefH | Standard errors for scalability coefficients included (Version 2.6) |
All updates until version 2.7 are described in Van der Ark (2012). The following modifications have been made in Version 2.7 in comparison to previous versions.
check.errors | Inclusion new function to compute weighted Guttman errors for each person. |
check.iio | plot has been added. |
check.monotonicity | Computation of number of active pairs for dichotomous items has been corrected. |
check.pmatrix | Summary of the results has been corrected. |
check.restscore | Code pertaining to IIO has been deleted. The procedure is now equivalent to MSP. |
coefH | Option included to compare scalability coefficients across groups |
The following modifications have been made in Version 2.7.1 in comparison to previous versions.
mokken | Some legal issues |
The following modifications have been made in Version 2.7.2 in comparison to previous versions.
check.iio | Violations of IIO for dichotomous items are now tested using a z-test rather than a t-test. |
The following modifications have been made in Version 2.7.3 in comparison to previous versions.
plot.iio.class | Confidence envelopes around estimated response functions |
plot.monotonicity.class | Confidence envelopes around estimated response functions |
plot.restscore.class | Confidence envelopes around estimated response functions |
The following modifications have been made in Version 2.8.1 in comparison to previous versions.
aisp | Startsets have been added |
The following modifications have been made in Version 2.8.2 in comparison to previous versions.
recode | New |
check.ca | New |
check.norms | New |
check.errors | Outlier score O+ has been included |
The following modifications have been made in Version 2.8.3 in comparison to previous versions.
twoway | New |
DS14 | New data set |
check.errors | Outlier cutoff scores have been included |
The following modifications have been made in Version 2.8.4 in comparison to previous versions.
check.iio | New code for computing HT for large samples |
The following modifications have been made in Version 2.8.5 in comparison to previous versions.
MLcoefH | New code for computing two-level scalability coefficients and standard errors |
autonomySupport | New two-level data set. |
The following modifications have been made in Version 2.8.9 and 2.8.10 in comparison to previous versions.
coefH | Included possibility to include a fixed item-step order |
MLcoefH | Code updated |
check.errors | Code updated |
The following modifications have been made in Version 2.8.11 in comparison to previous versions.
plot | The level of tranparancy of the plotted confidence intervals can be adjusted manually |
MLcoefH | Code updated |
The following modifications have been made in Version 2.8.12 in comparison to previous versions.
check.monotonicity | Z statistic adjusted (Molenaar & Sijtsma, 2000. p. 72 ) |
check.norms | Z Output corrected for nice.output = FALSE |
The following modifications have been made in Version 2.9.0 in comparison to previous versions.
coefH | Z Solution of Koopman et al. (2017) implemented to solve the problem of equal item steps and code updated |
MLcoefH | Z Solution of Koopman et al. (2017) implemented to solve the problem of equal item steps and code updated |
The following modifications have been made in Version 3.0.0 in comparison to previous versions.
aisp | Genetic algorithm has been reprogrammed and is now much faster. |
Argument lowerbound can now be a vector, enabling the investigation of several lower bounds simultaneously. |
|
Extra argument to specify which standard errors should be used in Z-test (Koopman et al., 2020). | |
Extra argument to indicate which null-hypothesis should be used to test Hi (i.e., Hi = c or Hi = 0)(Koopman et al., 2020). | |
Extra argument to handle nested data (Koopman et al., 2020). | |
check.iio | Computation of Coefficient HT for large samples is now much faster. |
coefH | New standard errors for nested data (Koopman et al. in press a). |
coefZ | Extra argument to compute the Z-score using lowerbound as the null hypothesis (Koopman et al., 2020). |
Extra argument to compute Z-score using delta method standard error, but the original method remains available (Koopman et al., 2020). | |
Extra argument to compute Z-score in nested data (Koopman et al., 2020). | |
ICC | New function for ICCs in two-level Mokken scale analysis (Koopman et al. in press a) |
MLcoefH | Extra argument for weighted proportions. Reduces bias in two-level standard errors (Koopman et al. in press a) |
Extra argument for a fixed item-step order | |
SWMD | New data file (Koopman et al. in press a) |
The following modifications have been made in Version 3.0.3 in comparison to previous versions.
coefZ | Error handling added |
The delta test uses range-preserving asymptotic theory (Koopman,et al., in press b) | |
coefH | Range-preserving confidence intervals added (Koopman et al., in press b) |
Extra argument to print variance-covariance matrices of estimated coefficients | |
Error handling added for more than 10 response categories | |
MLcoefH | Range-preserving confidence intervals added (Koopman et al., in press b) |
Extra argument to print variance-covariance matrices of estimated coefficients | |
MLcoefZ | New function for z-scores of two-level scalability coefficients (Koopman et al., in press b) |
aisp | type.se default adjusted and additional error handling added |
check.errors | Repaired bug in check.errors |
mcmi | New data file (Sijtsma & van der Ark, 2020) |
All functions | A warning has been added if items have different numbers of response categories |
The following modifications have been made in Version 3.0.4 in comparison to previous versions.
aisp | Argument type.z replaces type.se to accommodate three types of z scores (Mokken's Z, Wald-based, and range-preserving) |
search.normal | Argument type.z replaces type.se to accommodate three types of z scores (Mokken's Z, Wald-based, and range-preserving) |
coefZ | Argument type.z replaces type.se to accommodate three types of z scores (Mokken's Z, Wald-based, and range-preserving) |
MLcoefZ | Argument type.z is added to accommodate two types of z scores (Wald-based and range-preserving) |
coefH | Argument type.ci is added to accommodate two types of confidence intervals (Wald-based and range-preserving) |
Argument print.to.screen is replaced by results | |
MLcoefH | Argument type.ci is added to accommodate two types of confidence intervals (Wald-based and range-preserving) |
SWMDK | New data file (Koopman et al., in press a) |
All functions | A warning has been added if items have different numbers of response categories |
The following modifications have been made in Version 3.1.0 in comparison to previous versions.
check.monotonicity | Condition N > 500 to determined the default value of minsize has been changed to N >= 500 to match the help file. |
check.restscore | Condition N > 500 to determined the default value of minsize has been changed to N >= 500 to match the help file. |
check.iio | Condition N > 500 to determined the default value of minsize has been changed to N >= 500 to match the help file. |
check.iio | For dichtomous items, a z-test is used (rather than a t-test) to test violations of manifest invariant item ordering. |
check.iio | For polytomous items, a paired t-test (rather than independent two-sample t-test) is now performed for testing violations of manifest invariant item ordering. |
check.monotonicity | Argument level.two.var is added to enable two-level model fit checks (Koopman et al., 2023a,b). |
summary.monotonicity.class | Adjusted to handle two-level fit results from check.monotonicity. |
plot.monotonicity.class | Adjusted to handle two-level fit results from check.monotonicity. |
check.iio | Argument level.two.var is added to enable two-level model fit checks (Koopman et al., 2023a,b). |
summary.iio.class | Adjusted to handle two-level fit results from check.iio. |
plot.iio.class | Adjusted to handle two-level fit results from check.iio. |
The following modifications have been made in Version 3.1.1 in comparison to previous versions.
check.iio | A bug (resulting in an error) that occurred if the sample size was exactly a multiple of 1,000 was fixed. |
check.iio | Argument fixed.item.order is added to enable confirmatory analysis of a given item order, and to allow for investigating the ordering structure of clustered items with a given order, see Koopman & Braeken, 2024. |
All functions | A tibble class input is now allowed in addition to matrix and data frames. |
trog | New data file (Koopman & Braeken, 2024). |
The following modifications have been made in Version 3.1.1 in comparison to previous versions.
ICC | The example on the helpfile of the ICC function was updated. |
Author(s)
L. Andries van der Ark & L. Koopman Maintainer: L. Andries van der Ark <L.A.vanderArk@uva.nl>.
References
Koopman, L. & Braeken, J. (2024). Investigating the Ordering Structure of Clustered Items Using Nonparametric Item Response Theory. Manuscript submitted for publication.
Koopman, L., Zijlstra, B. J. H., & Van der Ark, L. A. (2023a). Assumptions and Properties of Two-Level Nonparametric Item Response Theory Models. Manuscript submitted for publication.
Koopman, L., Zijlstra, B. J. H., & Van der Ark, L. A. (2023b). Evaluating Model Fit in Two-Level Mokken Scale Analysis. Psych 5(3), 847-865. doi:10.3390/psych5030056
Koopman, L., Zijlstra, B. J. H., & Van der Ark, L. A. (2020). New advances in Mokken scale analysis. Paper presented at the online meeting of the Psychometric Society, July, 2020.
Koopman, L., Zijlstra, B. J. H., & Van der Ark, L. A. (in press a). A two-step, test-guided Mokken scale analysis for nonclustered and clustered data. Quality of Life Research. (advanced online publication) doi:10.1007/s11136-021-02840-2
Koopman, L., Zijlstra, B. J. H., & Van der Ark, L. A. (in press b). Range-preserving confidence intervals and significance tests for scalability coefficients in Mokken scale analysis. In M. Wiberg, D. Molenaar, J. Gonzalez, & Kim, J.-S. (Eds.), Quantitative Psychology; The 1st Online Meeting of the Psychometric Society, 2020. Springer. doi:10.1007/978-3-030-74772-5_16
Mokken, R. J. (1971) A Theory and Procedure of Scale Analysis. De Gruyter.
Molenaar, I.W., & Sijtsma, K. (2000) User's Manual MSP5 for Windows [Software manual]. IEC ProGAMMA.
Sijtsma, K., & Molenaar, I. W. (2002) Introduction to nonparametric item response theory. Sage.
Sijtsma, K., & Van der Ark, L. A. (2017). A tutorial on how to do a Mokken scale analysis on your test and questionnaire data. British Journal of Mathematical and Statistical Psychology, 70, 137-158. doi:10.1111/bmsp.12078
Sijtsma, K., & Van der Ark, L. A. (2020), Measurement models for psychological attributes. Boca Raton, FL: Chapman and Hall/CRC Press. https://www.routledge.com/Measurement-Models-for-Psychological-Attributes/Sijtsma-Ark/p/book/9780367424527
Van der Ark, L. A. (2007). Mokken scale analysis in R. Journal of Statistical Software, 20(11), 1-19. doi:10.18637/jss.v020.i11
Van der Ark, L. A. (2010). Getting started with Mokken scale analysis in R. Unpuablished manuscript. https://sites.google.com/a/tilburguniversity.edu/avdrark/mokken
Van der Ark, L. A. (2012). New developments in Mokken scale analysis in R. Journal of Statistical Software, 48(5), 1-27. doi:10.18637/jss.v048.i05
Examples
# Personality test
data(acl)
# Select the items of the scale Communality
Communality <- acl[,1:10]
# Compute scalability coefficients
coefH(Communality)
# Investigate the assumption of monotonicity
monotonicity.list <- check.monotonicity(Communality)
summary(monotonicity.list)
plot(monotonicity.list)
# Investigate the assumption of non-intersecting ISRFs using method restscore
restscore.list <- check.restscore(Communality)
summary(restscore.list)
plot(restscore.list)
# Investigate the assumption of non-intersecting ISRFs using method pmatrix
pmatrix.list <- check.pmatrix(Communality)
summary(pmatrix.list)
plot(pmatrix.list)
# Investigate the assumption of IIO using method MIIO
iio.list <- check.iio(Communality)
summary(iio.list)
plot(iio.list)
# Compute the reliability of the scale
check.reliability(Communality)
# Partition the the scale into mokken scales
aisp(Communality)