Performs the generalized distance discriminating method (GDD; Sun, Xin, Zhang, & de la Torre, 2013) for dichotomous data which is a method for classifying students into skill profiles based on a preliminary unidimensional calibration.
gdd(data, q.matrix, theta, b, a, skillclasses=NULL)
Arguments
data: Data frame with N×J item responses
q.matrix: The Q-matrix
theta: Estimated person ability
b: Estimated item intercept from a 2PL model (see Details)
a: Estimated item slope from a 2PL model (see Details)
skillclasses: Optional matrix of skill classes used for estimation
Details
Note that the parameters in the arguments follow the item response model
logitP(Xnj=1∣θn)=bj+ajθn
which is employed in the gdm function.
Returns
A list with following entries
skillclass.est: Estimated skill class
distmatrix: Distances for every person and every skill class
skillspace: Used skill space for estimation
theta: Used person parameter estimate
References
Sun, J., Xin, T., Zhang, S., & de la Torre, J. (2013). A polytomous extension of the generalized distance discriminating method. Applied Psychological Measurement, 37, 503-521.
Examples
############################################################################## EXAMPLE 1: GDD for sim.dina#############################################################################data(sim.dina, package="CDM")data(sim.qmatrix, package="CDM")data <- sim.dina
q.matrix <- sim.qmatrix
# estimate 1PL (use irtmodel="2PL" for 2PL estimation)mod <- CDM::gdm( data, irtmodel="1PL", theta.k=seq(-6,6,len=21), decrease.increments=TRUE, conv=.001, globconv=.001)# extract item parameters in parametrization b + a*thetab <- mod$b[,1]a <- mod$a[,,1]# extract person parameter estimatetheta <- mod$person$EAP.F1
# generalized distance discriminating methodres <- CDM::gdd( data, q.matrix, theta=theta, b=b, a=a )