R/dif.R
, R/summary.GDINA.R
dif.Rd
This function is used to detect differential item functioning using the Wald test (Hou, de la Torre, & Nandakumar, 2014; Ma, Terzi, & de la Torre, 2021) and the likelihood ratio test (Ma, Terzi, & de la Torre, 2021). The forward anchor item search procedure developed in Ma, Terzi, and de la Torre (2021) was implemented. Note that it can only detect DIF for two groups currently.
item responses from two groups; missing data need to be coded as NA
Q-matrix specifying the association between items and attributes
a factor or a vector indicating the group each individual belongs to. Its length must be equal to the number of individuals.
model for each item.
DIF detection method; It can be "wald"
for Hou, de la Torre, and Nandakumar's (2014)
Wald test method, and "LR"
for likelihood ratio test (Ma, Terzi, Lee,& de la Torre, 2017).
which items will be used as anchors? Default is NULL
, which means none of the items are used as anchors.
For LR method, it can also be an integer vector giving the item numbers for anchors or "all"
, which means all items are treated as anchor items.
which items are subject to DIF detection? Default is "all"
. It can also be an integer vector giving the item numbers.
adjusted p-values for multiple hypothesis tests. This is conducted using p.adjust
function in stats,
and therefore all adjustment methods supported by p.adjust
can be used, including "holm"
,
"hochberg"
, "hommel"
, "bonferroni"
, "BH"
and "BY"
. See p.adjust
for more details. "holm"
is the default.
Whether an approximated LR test is implemented? If TRUE, parameters of items except the studied one will not be re-estimated.
Type of standard error estimation methods for the Wald test.
arguments for the forward anchor item search procedure developed in Ma, Terzi, and de la Torre (2021). A list with the following elements:
on
- logical; TRUE
if activate the forward anchor item search procedure. Default = FALSE
.
alpha.level
- nominal level for Wald or LR test. Default = .05.
maxit
- maximum number of iterations allowed. Default = 10.
verbose
- logical; print information for each iteration or not? Default = FALSE
.
arguments passed to GDINA function for model calibration
dif object for S3 method
A data frame giving the Wald statistics and associated p-values.
summary(dif)
: print summary information
Hou, L., de la Torre, J., & Nandakumar, R. (2014). Differential item functioning assessment in cognitive diagnostic modeling: Application of the Wald test to investigate DIF in the DINA model. Journal of Educational Measurement, 51, 98-125.
Ma, W., Terzi, R., & de la Torre, J. (2021). Detecting differential item functioning using multiple-group cognitive diagnosis models. Applied Psychological Measurement.
if (FALSE) {
set.seed(123456)
N <- 3000
Q <- sim30GDINA$simQ
gs <- matrix(.2,ncol = 2, nrow = nrow(Q))
# By default, individuals are simulated from uniform distribution
# and deltas are simulated randomly
sim1 <- simGDINA(N,Q,gs.parm = gs,model="DINA")
sim2 <- simGDINA(N,Q,gs.parm = gs,model=c(rep("DINA",nrow(Q)-1),"DINO"))
dat <- rbind(extract(sim1,"dat"),extract(sim2,"dat"))
gr <- rep(c("G1","G2"),each=N)
# DIF using Wald test
dif.wald <- dif(dat, Q, group=gr, method = "Wald")
dif.wald
# DIF using LR test
dif.LR <- dif(dat, Q, group=gr, method="LR")
dif.LR
# DIF using Wald test + forward search algorithm
dif.wald.FS <- dif(dat, Q, group=gr, method = "Wald", FS.args = list(on = TRUE, verbose = TRUE))
dif.wald.FS
# DIF using LR test + forward search algorithm
dif.LR.FS <- dif(dat, Q, group=gr, method = "LR", FS.args = list(on = TRUE, verbose = TRUE))
dif.LR.FS
}