difGMH {difR} | R Documentation |
Performs DIF detection among multiple groups using the generalized Mantel-Haenszel method.
difGMH(Data, group, focal.names, alpha=0.05, purify=FALSE, nrIter=10) ## S3 method for class 'GMH': print(x, ...) ## S3 method for class 'GMH': plot(x, pch=8, number=TRUE, col="red", ...)
Data |
numeric: either the data matrix only, or the data matrix plus the vector of group membership. See Details. |
group |
numeric or character: either the vector of group membership or the column indicator (within Data ) of group membership. See Details. |
focal.names |
numeric or character vector indicating the levels of group which correspond to the focal groups. |
alpha |
numeric: significance level (default is 0.05). |
purify |
logical: should the method be used iteratively to purify the set of anchor items? (default is FALSE). |
nrIter |
numeric: the maximal number of iterations in the item purification process. Default is 10. |
x |
the result from a GMH class object. |
pch, col |
type of usual pch and col graphical options. |
number |
logical: should the item number identification be printed (default is TRUE ). |
... |
other generic parameters for the plot or the print functions. |
The generalized Mantel-Haenszel statistic (Somes, 1986) can be used to detect uniform differential item functioning among multiple groups, without requiring an item response model approach (Penfield, 2001).
The Data
is a matrix whose rows correspond to the subjects and columns to the items. Missing values are not allowed.
In addition, Data
can hold the vector of group membership. If so, group
indicates the column of Data
which
corresponds to the group membership, either by specifying its name or by giving the column number. Otherwise, group
must be
a vector of same length as nrow(Data)
.
The vector of group membership must hold at least three value, either as numeric or character. The focal groups are defined by the values of the argument focal.names
.
If there is a unique focal group, then difGMH
returns the output of difMH
(without continuity correction).
The threshold (or cut-score) for classifying items as DIF is computed as the quantile of the chi-square distribution with lower-tail
probability of one minus alpha
and with as many degrees of freedom as the number of focal groups.
Item purification can be performed by setting purify
to TRUE
. Purification works as follows: if at least one item detected as functioning
differently at the first step of the process, then the data set of the next step consists in all items that are currently anchor (DIF free) items, plus the
tested item (if necessary). The process stops when either two successive applications of the method yield the same classifications of the items (Clauser and Mazor, 1998),
or when nrIter
iterations are run without obtaining two successive identical classifications. In the latter case a warning message is printed.
A list of class "GMH" with the following arguments:
GMH |
the values of the generalized Mantel-Haenszel statistics. |
alpha |
the value of alpha argument. |
thr |
the threshold (cut-score) for DIF detection. |
DIFitems |
either the items which were detected as DIF items, or "No DIF item detected". |
purification |
the value of purify option. |
nrPur |
the number of iterations in the item purification process. Returned only if purify is TRUE . |
difPur |
a binary matrix with one row per iteration in the item purification process and one column per item. Zeros and ones in the i-th
row refer to items which were classified respectively as non-DIF and DIF items at the (i-1)-th step. The first row corresponds to the initial
classification of the items. Returned only if purify is TRUE . |
convergence |
logical indicating whether the iterative item purification process stopped before the maximal number nrIter of allowed iterations.
Returned only if purify is TRUE . |
names |
the names of the items. |
focal.names |
the value of focal.names argument. |
Sebastien Beland
Centre sur les Applications des Modeles de Reponses aux Items (CAMRI)
Universite du Quebec a Montreal
sebastien.beland.1@hotmail.com
David Magis
Research Group of Quantitative Psychology and Individual Differences
Katholieke Universiteit Leuven
David.Magis@psy.kuleuven.be, http://ppw.kuleuven.be/okp/home/
Gilles Raiche
Centre sur les Applications des Modeles de Reponses aux Items (CAMRI)
Universite du Quebec a Montreal
raiche.gilles@uqam.ca, http://www.er.uqam.ca/nobel/r17165/
Clauser, B. E. and Mazor, K. M. (1998). Using statistical procedures to identify differential item functioning test items. Educational Measurement: Issues and Practice, 17, 31-44.
Penfield, R. D. (2001). Assessing differential item functioning among multiple groups: a comparison of three Mantel-Haenszel procedures. Applied Measurement in Education, 14, 235-259.
Somes, G. W. (1986). The generalized Mantel-Haenszel statistic. The American Statistician, 40, 106-108.
# Loading of the verbal data data(verbal) attach(verbal) # Creating four groups according to gender ("Man" or "Woman") and # trait anger score ("Low" or "High") group<-rep("WomanLow",nrow(verbal)) group[Anger>20 & Gender==0]<-"WomanHigh" group[Anger<=20 & Gender==1]<-"ManLow" group[Anger>20 & Gender==1]<-"ManHigh" # New data set Verbal<-cbind(verbal[,1:24],group) # Reference group: "WomanLow" names<-c("WomanHigh","ManLow","ManHigh") # Three equivalent settings of the data matrix and the group membership difGMH(Verbal, group=25, focal.names=names) difGMH(Verbal, group="group", focal.name=names) difGMH(Verbal[,1:24], group=Verbal[,25], focal.names=names) # With item purification (remove #) # difGMH(Verbal, group=25, focal.names=names, purify=TRUE) # difGMH(Verbal, group=25, focal.names=names, purify=TRUE, nrIter=5)