ltm: Latent Trait Models under IRT

This package provides a flexible framework for Item Response Theory analyses for dichotomous and polytomous data under a Marginal Maximum Likelihood approach. The fitting algorithms provide valid inferences under Missing At Random missing data mechanisms.

Package Info

Current version: 0.9-9

Author: Dimitris Rizopoulos

Maintainer: Dimitris Rizopoulos

Depends: R(>= 2.14.0), MASS, msm, mvtnorm, polycor

License: GPL (>= 2)

Available Features

  • Descriptives: samples proportions, missing values information, biserial correlation of items with total score, pairwise associations between items, Cronbach’s $$\alpha$$, unidimensionality check using modified parallel analysis, nonparametric correlation coefficient, plotting.
  • Dichotomous data: Rasch Model, Two Parameter Logistic Model, Birnbaum’s Three Parameter Model, and Latent Trait Model up to two latent variables (allowing also for nonlinear terms between the latent traits).
  • Polytomous data: Graded Response Model and Generalized Partial Credit Model.
  • Goodness-of-Fit: Bootstrap Pearson $$\chi^2$$ for Rasch and Generalized Partial Credit models, fit on the two- and three-way margins for all models, likelihood ratio tests between nested models (including AIC and BIC criteria values), and item- and person-fit statistics.
  • Factor Scoring: Empirical Bayes (i.e., posterior modes), Expected a Posteriori (i.e., posterior means), Multiple Imputed Empirical Bayes, and Component Scores for dichotomous data.
  • Test Equating: Alternate Form Equating (where common and unique items are analyzed simultaneously) and Across Sample Equating (where different sets of unique items are analyzed separately based on previously calibrated anchor items).
  • Plotting: Item Characteristic Curves, Item Information Curves, Test Information Functions, Standard Error of Measurement, Standardized Loadings Scatterplot (for the two-factor latent trait model), Item Operation Characteristic Curves (for ordinal polytomous data), Item Person Maps.

Future Plans

  • Bock’s Nominal Response model.

Helpful Material

  • Download latest version from CRAN.
  • The changes in the current and previous versions of the package can be found in the NEWS file.

Sample Analyses


  • How do I interpret the output of descript()?

Look for lack of significance in the pairwise associations between items. IRT posits that items are related through an underlying latent trait. If items are not significantly related to each other, then IRT may not be appropriate.

  • Can grm() handle multidimensional data with both dichotomous and polytomous items?

If you are using numeric variables and not factors in the data argument of grm(), then the levels should start from one not zero and should have consecutive values, e.g., 1, 2, 3, ... . If this is not the case, you may use the following solution in order grm() to work properly:

# say 'dat' is your data.frame;
# convert the columns to a factor <- dat[] <- lapply(dat, factor)
# fit the model to the new data set
  • How to obtain factor scores for specific response patterns:

Try to use the resp.patterns argument of the factor.scores() function, e.g.,

fit <- rasch(LSAT)
# factor scores for each sample unit in the original data set
factor.scores(fit, resp.patterns = LSAT)
  • How to fit the Rasch model assuming discrimination equals one:

You need to use the constraint argument of rasch(), e.g.,

rasch(LSAT, constraint = cbind(length(LSAT) + 1, 1))
  • How to fit the Rasch model under the normal ogive:

You need to fix the discrimination parameter to 1.702, e.g.,

rasch(LSAT, constraint = cbind(length(LSAT) + 1, 1.702))
packages/cran/ltm.txt · Last modified: 2013/02/25 by phgrosjean
Recent changes RSS feed R Wiki powered by Driven by DokuWiki and optimized for Firefox Creative Commons License