A quick reference to GDINA R package

Wenchao Ma

2023-07-01

What can this package do?

This package provides a framework for conducting a variety of cognitively diagnostic analyses for dichotomous and polytomous responses.

For more details, see here

For an example of how to use the package, see here

How to use this package?

Visit here for an online reference

A quick example

Below is an illustration showing some analyses that you could do using the package. You can copy the code, paste and run it in R console. For a more comprehensive example, see this tutorial.

  1. Load the package and assume we have the following item response matrix and Q-matrix:
library(GDINA)
dat <- sim10GDINA$simdat
Q <- matrix(c(1,0,0,
              0,1,0,
              0,0,1,
              1,0,1,
              0,1,1,
              1,1,0,
              0,0,1,
              1,0,0,
              1,1,1,
              1,0,1),byrow = T,ncol = 3)
  1. Estimate the G-DINA model:
est <- GDINA(dat = dat, Q = Q, model = "GDINA")
  1. Conduct the Q-matrix validation. By default, it implements de la Torre and Chiu’s (2016) algorithm using a fixed cutoff. This is fast but sometimes suggests too many modifications.
Qv <- Qval(est)
Qv

To avoid using fixed cutoffs and also take uncertainty in item parameter estimation into account, you may consider the stepwise method:

Qv2 <- Qval(est,method = "Wald")
Qv2

To further examine the q-vectors that are suggested to be modified, you can draw mesa plots:

plot(Qv, item = 9)
  1. Perform item-level model selection to see if the saturated G-DINA model can be simplified:
mc <- modelcomp(est)
mc
  1. Assess model-data fit at test and item levels:
# test level absolute fit
mft <- modelfit(est)
mft
# item level absolute fit
ift <- itemfit(est)
ift
summary(ift)
plot(ift)
  1. Calculate classification accuracy
CA(est)

More Examples

If you would like to contribute an example to this website, please send me your .Rmd file.