Learn R Programming

mokken (version 3.0.4)

MLcoefH: Two-level scalability coefficents H

Description

Computes all types of two-level scalability coefficients (Snijders, 2001; Crisan et al., 2016), that is, between- and within-rater item-pair scalability coefficents and their ratio (HBij, HWij, and BWij, respectively), between- and within-rater item scalability coefficients and their ratio (HBi, HWi, and BWi, respectively), and between- and within-rater total scale scalability coefficients and their ratio (HB, HW, and BW, respectively). In addition, standard errors are estimated (Koopman, et al., 2020a) and if requested incorporated in confidence intervals (Koopman, Zijlstra, & Van der Ark, 2020b, 2020c). Note that this version is an adaptation of the estimation methods described in Snijders (1999) and in Koopman et al. (2020a), as the group proportions are now by default weighted for group size (Koopman, Zijlstra, & Van der Ark, 2020b). As a result, the estimates for the autonomySupport data differs from the printed table in Koopman et al. (2020a). The estimated variance-covariance matrix of the coefficients can also be printed if requested.

Usage

MLcoefH(X, se = TRUE, ci = FALSE, nice.output = TRUE, subject = 1, 
            fixed.itemstep.order = NULL, weigh.props = TRUE, 
            type.ci = "WB", cov.mat = FALSE)

Arguments

X

matrix or data frame of numeric data containing a subject indicator column and the responses of nrow(X) raters to ncol(X) - 1 items. Missing values are not allowed

se

Logical: If TRUE, the standard errors are printed alongside the scalability coefficients

ci

The confidence level between 0 and 1 of the range-preserving confidence intervals. If FALSE (default), no confidence intervals are printed (Koopman, Zijlstra, & Van der Ark, 2020b).

nice.output

Logical: If TRUE, scalability coefficients and standard errors are combined in an a single object of class noquote. Item-pair ratios BWij are only printed if FALSE

subject

Represents the subject column. Default is column 1.

fixed.itemstep.order

matrix with number of rows equal to the number of item steps (m) and number of columns equal to the number of items (J). The matrix should consis the integers 1 : (m * J), indicating a predefined order of the items steps with respect to popularity. Value 1 indicates the easiest (most popular) item step, value (m * J) indicates the most difficult item step.

weigh.props

If TRUE: Use weighted proportions across groups to estimate coefficients and standard errors, if FALSE: Use averaged proportions across groups to estimate coefficients and standard errors.

type.ci

If WB, Wald-based confidence interval are printed, if RP range-preserving confidence intervals are printed (Koopman, Zijlstra, & Van der Ark, 2020b, 2020c). Default is WB. Only used if ci is specified.

cov.mat

Logical: If TRUE, the variance-covariance matrices of the estimated coefficients are printed. Default is FALSE.

Value

Hij

Scalability coefficients of the item pairs, upper triangle are the between-rater coefficients, and the lower triangle the within-rater coefficients (possibly with standard errors and/or confidence intervals; see details). If nice.output = FALSE this returns a matrix with the type of coefficients per column

Hi

Between- and within-rater scalability coefficients of the items and their ratio (possibly with standard errors and/or confidence intervals; see details)

H

between- and within-rater scalability coefficients of the entire scale and their ratio (possibly with standard error and/or confidence intervals; see details)

Details

If se = TRUE and nice.output = TRUE, the result is a list of 3 objects of class noquote; if se = TRUE and nice.output = FALSE, the result is a list of 3 matrices, one per set of coefficients; and if se = FALSE, the result is a list of 3 matrices containing only the scalability coefficients; if ci is specified and nice.output = TRUE, there is one additional matrix for the ci's of the Hij coefficients. Computation of standard errors can be slow for a combination of many subjects and a large number of items; if cov.mat = TRUE three additional matrices are printed with the variance-covariances of Hij, Hi, and H.

References

Crisan, D. R., Van de Pol, J. E., & Van der Ark, L. A. (2016). Scalability coefficients for two-level polytomous item scores: An introduction and an application. In L. A. Van der Ark, D. M. Bolt, W.-C. Wang, & M. Wiberg (Eds.), Quantitative psychology research. Springer. https://doi.org/10.1007/978-3-319-38759-8_11

Koopman, L., Zijlstra, B. J. H. & Van der Ark, L. A., (2020a). Standard errors of two-lvel scalability coefficients. British Journal of Statistical and Mathematical Psychology, 73, 213-236. https://doi.org/10.1111/bmsp.12174

Koopman, L. Zijlstra, B. J. H, & Van der Ark, L. A. (2020b). A two-step, test-guided Mokken scale analysis for nonclustered and clustered data. Manuscript submitted for publication.

Koopman, L. Zijlstra, B. J. H, & Van der Ark, L. A. (2020c). Range-preserving confidence intervals for scalability coefficients in Mokken scale analysis. Manuscript submitted for publication.

Snijders, T. A. B. (2001). Two-level non-parametric scaling for dichotomous data. In A. Boomsma, M. A. J. van Duijn, & T. A. B. Snijders (Eds.), Essays on item response theory (pp. 319-338). Springer. https://doi.org/10.1007/978-1-4613-0169-1_17

See Also

MLcoefZ,coefH,

Examples

Run this code
# NOT RUN {
# Small data example (Koopman et al., 2019)
smallData <- data.frame(Subs = c(1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3),
                        Xa   = c(0, 0, 1, 0, 1, 1, 1, 2, 1, 0, 1, 2, 0, 0, 0), 
                        Xb   = c(0, 0, 1, 0, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 0), 
                        Xc   = c(1, 0, 0, 0, 1, 1, 2, 1, 2, 0, 1, 1, 2, 1, 0))

MLcoefH(smallData)

# Compute also the range-preserving confidence intervals
MLcoefH(smallData, ci = .95)

# Print variance-covariance matrices
MLcoefH(smallData, cov.mat = TRUE)

# Load real data example. Note that due to an estimation adaptation (Koopman et al., 2020)
# the results differ from the table in Koopman et al. (2019).
data(autonomySupport)

# Compute scalability coefficients with or without standard errors, range-preserving 
# confidence intervals, nice output
# }
# NOT RUN {
H.se.nice <- MLcoefH(autonomySupport)
H.se.nice 
# }
# NOT RUN {
H.se.not  <- MLcoefH(autonomySupport, nice.output = FALSE)
H.se.not  
# }
# NOT RUN {
H.se.ci.nice <- MLcoefH(autonomySupport, ci = .95)
H.se.ci.nice
# }
# NOT RUN {
H.se.ci.not <- MLcoefH(autonomySupport, ci = .95, nice.output = FALSE)
H.se.ci.not
# }
# NOT RUN {
H.nice    <- MLcoefH(autonomySupport, se = FALSE)
H.nice    
# }
# NOT RUN {
H.not     <- MLcoefH(autonomySupport, se = FALSE, nice.output = FALSE)
H.not     
# }
# NOT RUN {
# }

Run the code above in your browser using DataLab