The SIBTEST method (Shealy and 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 and 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 and 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.