How to cite the package

Ma, W. & de la Torre, J. (2020). GDINA: An R Package for Cognitive Diagnosis Modeling. Journal of Statistical Software, 93(14), 1-26.

Ma, W. & de la Torre, J. (2020). GDINA: The generalized DINA model framework. R package version 2.8.0. Retrived from

Visit the package website for examples, tutorials and more information.

Learning resources

Features of the package

  • Estimating G-DINA model and a variety of widely-used models subsumed by the G-DINA model, including the DINA model, DINO model, additive-CDM (A-CDM), linear logistic model (LLM), reduced reparametrized unified model (RRUM), multiple-strategy DINA model for dichotomous responses
  • Estimating models within the G-DINA model framework using user-specified design matrix and link functions
  • Estimating Bugs-DINA, DINO and G-DINA models for dichotomous responses
  • Estimating sequential G-DINA model for ordinal and nominal responses
  • Estimating the generalized multiple-strategy cognitive diagnosis models (experimental)
  • Estimating the diagnostic tree model (experimental)
  • Estimating multiple-choice models
  • Modelling independent, saturated, higher-order, loglinear smoothed, and structured joint attribute distribution
  • Accommodating multiple-group model analysis
  • Imposing monotonic constrained success probabilities
  • Accommodating binary and polytomous attributes
  • Validating Q-matrix under the general model framework
  • Evaluating absolute and relative item and model fit
  • Comparing models at the test and item levels
  • Detecting differential item functioning using Wald and likelihood ratio test
  • Simulating data based on all aforementioned CDMs
  • Providing graphical user interface for users less familiar with R


The stable version of GDINA should be installed from R CRAN at here

To install this package from source:

1) Windows users may need to install the Rtools and include the checkbox option of installing Rtools to their path for easier command line usage. Mac users will have to download the necessary tools from the Xcode and its related command line tools (found within Xcode’s Preference Pane under Downloads/Components); most Linux distributions should already have up to date compilers (or if not they can be updated easily).

2) Install the devtools package (if necessary), and install the package from the Github source code.

# install.packages("devtools")