This function is used to detect differential item functioning based on the models estimated in the GDINA function using the Wald test (Hou, de la Torre, & Nandakumar, 2014) and the likelihood ratio test (Ma, Terzi, Lee, & de la Torre, 2017). It can only detect DIF for two groups currently.

dif(dat, Q, group, model = "GDINA", method = "wald",
  anchor.items = NULL, dif.items = "all", p.adjust.methods = "holm",
  approx = FALSE, SE.type = 2, ...)

# S3 method for dif
summary(object, ...)



item responses from two groups; missing data need to be coded as NA


Q-matrix specifying the association between items and attributes


a numerical vector with integer 1, 2, ..., # of groups indicating the group each individual belongs to. It must start from 1 and 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 passed to GDINA function for model calibration


dif object for S3 method


A data frame giving the Wald statistics and associated p-values.

Methods (by generic)

  • summary: 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., Lee, S., & de la Torre, J. (2017, April). Multiple group cognitive diagnosis models and their applications in detecting differential item functioning. Paper presented at the Annual Meeting ofthe American Educational Research Association, San Antonio, TX.

See also


if (FALSE) { set.seed(123456) N <- 3000 Q <- sim10GDINA$simQ gs <- matrix(c(0.1,0.2, 0.1,0.2, 0.1,0.2, 0.1,0.2, 0.1,0.2, 0.1,0.2, 0.1,0.2, 0.1,0.2, 0.1,0.2, 0.1,0.2),ncol = 2, byrow = TRUE) # 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",9),"DINO")) dat <- rbind(extract(sim1,"dat"),extract(sim2,"dat")) gr <- c(rep(1,N),rep(2,N)) dif.out <- dif(dat,Q,group=gr) dif.out2 <- dif(dat,Q,group=gr,method="LR") }