The SIBTEST method (Shealy & Stout, 1993) allows for detecting uniform
differential item functioning without requiring an item response model
approach. Its modified version, the Crossing-SIBTEST (Chalmers, 2018; Li
& Stout, 1996), focuses on nonuniform DIF instead. This function provides
a wrapper to the SIBTEST function from the mirt
package (Chalmers, 2012) to fit within the difR framework (Magis et
al., 2010). Therefore, if you are using this function for publication
purposes please cite Chalmers (2018; 2012) and Magis et al. (2010).
The Data is a matrix whose rows correspond to the subjects and
columns to the items. 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 only two different values, either
as numeric or character. The focal group is defined by the value of the
argument focal.name.
The type of DIF effect, uniform through SIBTEST or nonuniform through
Crossing-SIBTEST, is determined by the type argument. By default it
is "udif" for uniform DIF, and may take the value "nudif" for
nonuniform DIF.
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 one degree of freedom. Note that the
degrees of freedom are also returned by the df argument.
Item purification can be performed by setting purify to TRUE.
Purification works as follows: if at least one item was detected as
functioning differently at some 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 & Mazor, 1998), or when nrIter iterations are
run without obtaining two successive identical classifications. In the
latter case a warning message is printed.
Adjustment for multiple comparisons is possible with the argument
p.adjust.method. The latter must be an acronym of one of the
available adjustment methods of the p.adjust function.
According to Kim and Oshima (2013), Holm and Benjamini-Hochberg adjustments
(set respectively by "Holm" and "BH") perform best for DIF
purposes. See p.adjust function for further details. Note
that item purification is performed on original statistics and p-values; in
case of adjustment for multiple comparisons this is performed after
item purification.
A pre-specified set of anchor items can be provided through the
anchor argument. It must be a vector of either item names (which
must match exactly the column names of Data argument) or integer
values (specifying the column numbers for item identification). In case
anchor items are provided, they are used to compute the test score
(matching criterion), including also the tested item. None of the anchor
items are tested for DIF: the output separates anchor items and tested
items and DIF results are returned only for the latter. Note also that item
purification is not activated when anchor items are provided (even if
purify is set to TRUE). By default it is NULL so that
no anchor item is specified.
The output of the difSIBTEST, as displayed by the
print.SIBTEST function, can be stored in a text file provided that
save.output is set to TRUE (the default value FALSE
does not execute the storage). In this case, the name of the text file must
be given as a character string into the first component of the
output argument (default name is "out"), and the path for
saving the text file can be given through the second component of
output. The default value is "default", meaning that the file
will be saved in the current working directory. Any other path can be
specified as a character string: see the Examples section for an
illustration.
The plot.SIBTEST function displays the DIF statistics in a plot,
with each item on the X axis. The type of point and the color are fixed by
the usual pch and col arguments. Option number permits
to display the item numbers instead. Also, the plot can be stored in a
figure file, either in PDF or JPEG format. Fixing save.plot to
TRUE allows this process. The figure is defined through the
components of save.options. The first two components perform
similarly as those of the output argument. The third component is
the figure format, with allowed values "pdf" (default) for PDF file
and "jpeg" for JPEG file. Note that no plot is returned for exact
inference.