genLordChi2: Generalized Lord's chi-squared DIF statistic

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/genLordChi2.r

Description

Calculates the generalized Lord's chi-squared statistics for DIF detection among multiple groups.

Usage

1
2
genLordChi2(irtParam, nrFocal)
 

Arguments

irtParam

numeric: the matrix of item parameter estimates. See Details.

nrFocal

numeric: the number of focal groups.

Details

This command computes the generalized Lord's chi-squared statistic (Kim, Cohen and Park, 1995), also called the Qj statistics, in the specific framework of differential item functioning with multiple groups. It forms the basic command of difGenLord and is specifically designed for this call.

The irtParam matrix has a number of rows equal to the number of groups (reference and focal ones) times the number of items J. The first J rows refer to the item parameter estimates in the reference group, while the next sets of J rows correspond to the same items in each of the focal groups. The number of columns depends on the selected IRT model: 2 for the 1PL model, 5 for the 2PL model, 6 for the constrained 3PL model and 9 for the unconstrained 3PL model. The columns of irtParam have to follow the same structure as the output of itemParEst command (the latter can actually be used to create the irtParam matrix).

In addition, the item parameters of the reference group and the focal groups must be placed on the same scale. This can be done by using itemRescale command, which performs equal means anchoring between two groups of item estimates (Cook and Eignor, 1991).

The number of focal groups has to be specified with argument nrFocal.

Value

A vector with the values of the generalized Lord's chi-squared DIF statistics.

Author(s)

Sebastien Beland
Collectif pour le Developpement et les Applications en Mesure et Evaluation (Cdame)
Universite du Quebec a Montreal
sebastien.beland.1@hotmail.com, http://www.cdame.uqam.ca/
David Magis
Department of Psychology, University of Liege
Research Group of Quantitative Psychology and Individual Differences, KU Leuven
David.Magis@uliege.be, http://ppw.kuleuven.be/okp/home/
Gilles Raiche
Collectif pour le Developpement et les Applications en Mesure et Evaluation (Cdame)
Universite du Quebec a Montreal
raiche.gilles@uqam.ca, http://www.cdame.uqam.ca/

References

Cook, L. L. and Eignor, D. R. (1991). An NCME instructional module on IRT equating methods. Educational Measurement: Issues and Practice, 10, 37-45.

Kim, S.-H., Cohen, A.S. and Park, T.-H. (1995). Detection of differential item functioning in multiple groups. Journal of Educational Measurement, 32, 261-276. doi: 10.1111/j.1745-3984.1995.tb00466.x

Magis, D., Beland, S., Tuerlinckx, F. and De Boeck, P. (2010). A general framework and an R package for the detection of dichotomous differential item functioning. Behavior Research Methods, 42, 847-862. doi: 10.3758/BRM.42.3.847

See Also

itemParEst, itemRescale, difGenLord

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
## Not run: 

 # 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"

 # Splitting the data into the four subsets according to "group"
 data0 <- data1 <- data2 <- data3 <- NULL
 for (i in 1:nrow(verbal)){
 if (group[i]=="WomanLow") data0 <- rbind(data0, as.numeric(verbal[i,1:24]))
 if (group[i]=="WomanHigh") data1 <- rbind(data1, as.numeric(verbal[i,1:24]))
 if (group[i]=="ManLow") data2 <- rbind(data2, as.numeric(verbal[i,1:24]))
 if (group[i]=="ManHigh") data3 <- rbind(data3, as.numeric(verbal[i,1:24]))
 }

 # Estimation of the item parameters (1PL model)
 m0.1PL <- itemParEst(data0, model = "1PL")
 m1.1PL <- itemParEst(data1, model = "1PL")
 m2.1PL <- itemParEst(data2, model = "1PL")
 m3.1PL <- itemParEst(data3, model = "1PL")

 # merging the item parameters with rescaling
 irt.scale <- rbind(m0.1PL, itemRescale(m0.1PL, m1.1PL), itemRescale(m0.1PL, m2.1PL), 
                    itemRescale(m0.1PL, m3.1PL))

 # Generalized Lord's chi-squared statistics
 genLordChi2(irt.scale, nrFocal = 3)
 
## End(Not run)
 

difR documentation built on July 2, 2020, 3:34 a.m.