A quick reference to GDINA R package

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

How to use this package?

• To estimate various CDMs, use GDINA() function
• To extract item and person parameters from GDINA estimates, use coef() and personparm() functions, respectively
• To evaluate absolute model fit, use modelfit() or itemfit() functions
• To evaluate relative model fit, use AIC(), BIC() or deviance() functions
• To validate Q-matrix, use Qval() function
• To detect differential item functioning, use dif() function
• To run graphical user interface, use startGDINA() function
• To simulate data from various CDMs, use simGDINA() function

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.

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.