unidimTest | R Documentation |

An empirical check for the unidimensionality assumption for `ltm`

, `rasch`

and `tpm`

models.

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

`object` |
a model object inheriting either from class |

`data` |
a |

`thetas` |
a numeric |

`IRT` |
logical, if |

`z.vals` |
a numeric vector of length equal to the number of rows of |

`B` |
the number of samples for the Monte Carlo procedure to approximate the distribution of the statistic under the null hypothesis. |

`...` |
extra arguments to |

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:

- Step 1:
If

`object`

is supplied, then simulate new ability estimates, say*z^**, from a normal distribution with mean the ability estimates*\hat{z}*in the original data-set, and standard deviation the standard error of*\hat{z}*(in this case the`z.vals`

argument is ignored). If`object`

is not supplied and the`z.vals`

argument has been specified, then set*z^* =*`z.vals`

. Finally, if`object`

is not supplied and the`z.vals`

argument has not been specified, then simulate*z^**from a standard normal distribution.- Step 2:
Simulate a new data-set of dichotomous responses, using

*z^**, and parameters the estimated parameters extracted from`object`

(if it is supplied) or the parameters given in the`thetas`

argument.- Step 3:
For the new data-set simulated in Step 2, compute the tetrachoric correlations matrix and take the largest correlations as communalities. For this matrix compute the eigenvalues.

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 *(1 + sum_{b = 1}^B I(T_b >= T_{obs})) / (1 + B)*, where *I(.)* denotes the indicator function, and
*T_b* denotes the value of the statistic in the *b*th data-set.

An object of class `unidimTest`

is a list with components,

`Tobs` |
a numeric vector of the eigenvalues for the observed data-set. |

`Tboot` |
a numeric matrix of the eigenvalues for each simulated data-set. |

`p.value` |
the |

`call` |
a copy of the matched call of |

For `ltm`

objects you can also use a likelihood ratio test to check unidimensionality. In particular,
`fit0 <- ltm(data ~ z1); fit1 <- ltm(data ~ z1 + z2); anova(fit0, fit1)`

.

Dimitris Rizopoulos d.rizopoulos@erasmusmc.nl

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.

`descript`

## Not run: # 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") ## End(Not run)

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.