Learn R Programming

ltm (version 0.8-9)

unidimTest: Unidimensionality Check using Modified Parallel Analysis

Description

An empirical check for the unidimensionality assumption for ltm, rasch and tpm models.

Usage

unidimTest(object, data, thetas, IRT = TRUE, z.vals = NULL, 
           B = 100, ...)

Arguments

object
a model object inheriting either from class ltm, class rasch or class tpm. For ltm() it is assumed that the two-parameter logistic model has been fitted (i.e., one latent variable and n
data
a matrix or a data.frame of response patterns with columns denoting the items; used if object is missing.
thetas
a numeric matrix with IRT model parameter values to be used in rmvlogis; used if object is missing.
IRT
logical, if TRUE, then argument thetas contains the measurement model parameters under the usual IRT parameterization (see rmvlogis); used if object is miss
z.vals
a numeric vector of length equal to the number of rows of data, providing ability estimates. If object is supplied then the abilities are estimated using factor.scores
B
the number of samples for the Monte Carlo procedure to approximate the distribution of the statistic under the null hypothesis.
...
extra arguments to polycor().

Value

  • An object of class unidimTest is a list with components,
  • Tobsa numeric vector of the eigenvalues for the observed data-set.
  • Tboota numeric matrix of the eigenvalues for each simulated data-set.
  • p.valuethe $p$-value.
  • calla copy of the matched call of object if that was supplied.

Details

This function implements the procedure proposed by Drasgow and Lissak (1983) for examining the latent dimensionality of dichotomously scored item responses. The statistic used for testing unidimensionality is the second eigenvalue of the tetrachoric correlations matrix of the dichotomous items. The tetrachoric correlations between are computed using function polycor() from package `polycor', and the largest one is taken as communality estimate. A Monte Carlo procedure is used to approximate the distribution of this statistic under the null hypothesis. In particular, the following steps are replicated B times: [object Object],[object Object],[object Object] Denote by $T_{obs}$ the value of the statistic (i.e., the second eigenvalue) for the original data-set. Then the $p$-value is approximated according to the formula $\left(1 + \sum_{b = 1}^B I(T_b \geq T_{obs})\right) / (1 + B)$, where $I(.)$ denotes the indicator function, and $T_b$ denotes the value of the statistic in the $b$th data-set.

References

Drasgow, F. and Lissak, R. (1983) Modified parallel analysis: a procedure for examining the latent dimensionality of dichotomously scored item responses. Journal of Applied Psychology, 68, 363--373.

See Also

descript

Examples

Run this code
# Unidimensionality Check for the LSAT data-set
# under a Rasch model:
out <- unidimTest(rasch(LSAT))
out
plot(out, type = "b", pch = 1:2)
legend("topright", c("Real Data", "Average Simulated Data"), lty = 1, 
    pch = 1:2, col = 1:2, bty = "n")

Run the code above in your browser using DataLab