Learn R Programming

mokken (version 3.1.2)

mokken-package: 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).

Arguments

Author

L. Andries van der Ark & L. Koopman Maintainer: L. Andries van der Ark <L.A.vanderArk@uva.nl>.

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

aclScores on a personality checklist.
autonomySupportScores from students on their teacher's autonomy support
balanceScores on balance taskts
cavaliniScores on an inventory on industrial malodor
DS14Scores on a Type D test (bootstrap sample)
mcmiScores on some items from the Dutch version of the Millon Clinical Multiaxial Inventory
SWMDScores from pupils nested in classrooms on their well-being with teachers
SWMDKScores from pupils nested in classrooms on their well-being with teachers and classmates
transreasScores on a transitive reasoning test
transreas2More scores on a transitive reasoning test
trogScores 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

coefHScalability coefficients
coefZTest statistics for scalability coefficients
check.monotonicityInvestigate monotonicity assumptions
check.restscoreInvestigate nonintersection assumption using Method Restscore
check.pmatrixInvestigate nonintersection assumption using Method Pmatrix
search.normalMokken's automated item selection algorithm

The following major modifications have been made.

aispMore general automated item selection algorithm.
Function search has become obsolete (Version 2.0)
check.reliabilityCompute reliability coefficients (Version 2.0)
check.iioInvestigate invariant item orderings (Version 2.4)
coefHStandard 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.errorsInclusion new function to compute weighted Guttman errors for each person.
check.iioplot has been added.
check.monotonicityComputation of number of active pairs for dichotomous items has been corrected.
check.pmatrixSummary of the results has been corrected.
check.restscoreCode pertaining to IIO has been deleted. The procedure is now equivalent to MSP.
coefHOption included to compare scalability coefficients across groups

The following modifications have been made in Version 2.7.1 in comparison to previous versions.

mokkenSome legal issues

The following modifications have been made in Version 2.7.2 in comparison to previous versions.

check.iioViolations 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.classConfidence envelopes around estimated response functions
plot.monotonicity.classConfidence envelopes around estimated response functions
plot.restscore.classConfidence envelopes around estimated response functions

The following modifications have been made in Version 2.8.1 in comparison to previous versions.

aispStartsets have been added

The following modifications have been made in Version 2.8.2 in comparison to previous versions.

recodeNew
check.caNew
check.normsNew
check.errorsOutlier score O+ has been included

The following modifications have been made in Version 2.8.3 in comparison to previous versions.

twowayNew
DS14New data set
check.errorsOutlier cutoff scores have been included

The following modifications have been made in Version 2.8.4 in comparison to previous versions.

check.iioNew code for computing HT for large samples

The following modifications have been made in Version 2.8.5 in comparison to previous versions.

MLcoefHNew code for computing two-level scalability coefficients and standard errors
autonomySupportNew two-level data set.

The following modifications have been made in Version 2.8.9 and 2.8.10 in comparison to previous versions.

coefHIncluded possibility to include a fixed item-step order
MLcoefHCode updated
check.errorsCode updated

The following modifications have been made in Version 2.8.11 in comparison to previous versions.

plotThe level of tranparancy of the plotted confidence intervals can be adjusted manually
MLcoefHCode updated

The following modifications have been made in Version 2.8.12 in comparison to previous versions.

check.monotonicityZ statistic adjusted (Molenaar & Sijtsma, 2000. p. 72 )
check.normsZ Output corrected for nice.output = FALSE

The following modifications have been made in Version 2.9.0 in comparison to previous versions.

coefHZ Solution of Koopman et al. (2017) implemented to solve the problem of equal item steps and code updated
MLcoefHZ 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.

aispGenetic 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.iioComputation of Coefficient HT for large samples is now much faster.
coefHNew standard errors for nested data (Koopman et al. in press a).
coefZExtra 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).
ICCNew function for ICCs in two-level Mokken scale analysis (Koopman et al. in press a)
MLcoefHExtra 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
SWMDNew data file (Koopman et al. in press a)

The following modifications have been made in Version 3.0.3 in comparison to previous versions.

coefZError handling added
The delta test uses range-preserving asymptotic theory (Koopman,et al., in press b)
coefHRange-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
MLcoefHRange-preserving confidence intervals added (Koopman et al., in press b)
Extra argument to print variance-covariance matrices of estimated coefficients
MLcoefZNew function for z-scores of two-level scalability coefficients (Koopman et al., in press b)
aisptype.se default adjusted and additional error handling added
check.errorsRepaired bug in check.errors
mcmiNew data file (Sijtsma & van der Ark, 2020)
All functionsA 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.

aispArgument type.z replaces type.se to accommodate three types of z scores (Mokken's Z, Wald-based, and range-preserving)
search.normalArgument type.z replaces type.se to accommodate three types of z scores (Mokken's Z, Wald-based, and range-preserving)
coefZArgument type.z replaces type.se to accommodate three types of z scores (Mokken's Z, Wald-based, and range-preserving)
MLcoefZArgument type.z is added to accommodate two types of z scores (Wald-based and range-preserving)
coefHArgument type.ci is added to accommodate two types of confidence intervals (Wald-based and range-preserving)
Argument print.to.screen is replaced by results
MLcoefHArgument type.ci is added to accommodate two types of confidence intervals (Wald-based and range-preserving)
SWMDKNew data file (Koopman et al., in press a)
All functionsA 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.monotonicityCondition N > 500 to determined the default value of minsize has been changed to N >= 500 to match the help file.
check.restscoreCondition N > 500 to determined the default value of minsize has been changed to N >= 500 to match the help file.
check.iioCondition N > 500 to determined the default value of minsize has been changed to N >= 500 to match the help file.
check.iioFor dichtomous items, a z-test is used (rather than a t-test) to test violations of manifest invariant item ordering.
check.iioFor 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.monotonicityArgument level.two.var is added to enable two-level model fit checks (Koopman et al., 2023a,b).
summary.monotonicity.classAdjusted to handle two-level fit results from check.monotonicity.
plot.monotonicity.classAdjusted to handle two-level fit results from check.monotonicity.
check.iioArgument level.two.var is added to enable two-level model fit checks (Koopman et al., 2023a,b).
summary.iio.classAdjusted to handle two-level fit results from check.iio.
plot.iio.classAdjusted 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.iioA bug (resulting in an error) that occurred if the sample size was exactly a multiple of 1,000 was fixed.
check.iioArgument 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 functionsA tibble class input is now allowed in addition to matrix and data frames.
trogNew data file (Koopman & Braeken, 2024).

The following modifications have been made in Version 3.1.1 in comparison to previous versions.

ICCThe example on the helpfile of the ICC function was updated.

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. tools:::Rd_expr_doi("https://doi.org/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) tools:::Rd_expr_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. tools:::Rd_expr_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. tools:::Rd_expr_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. tools:::Rd_expr_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. tools:::Rd_expr_doi("10.18637/jss.v048.i05")

Examples

Run this code

# 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)

Run the code above in your browser using DataLab