itemParEst {difR}R Documentation

Item parameter estimation for DIF detection


Fits a specified logistic IRT model and returns related item parameter estimates.


itemParEst(data, model, c = NULL, engine = "ltm", discr = 1)



numeric: the data matrix.


character: the IRT model to be fitted (either "1PL", "2PL" or "3PL").


optional numeric value or vector giving the values of the constrained pseudo-guessing parameters. See Details.


character: the engine for estimating the 1PL model, either "ltm" (default) or "lme4".


either NULL or a real positive value for the common discrimination parameter (default is 1). Used only if model is "1PL" and engine is "ltm". See Details.


itemParEst permits to get item parameter estimates of some pre-specified logistic IRT model, together with estimates of the standard errors and the covariances between item parameters, if any. The output is ordered such that it can be directly used with the methods of Lord (difLord) and Raju (difRaju) and Generalized Lord's (difGenLord) to detect differential item functioning.

The data is a matrix whose rows correspond to the subjects and columns to the items.

Missing values are allowed but must be coded as NA values. They are discarded for item parameter estimation.

If the model is not the 1PL model, or if engine is equal to "ltm", the selected IRT model is fitted using marginal maximum likelihood by means of the functions from the ltm package (Rizopoulos, 2006). Otherwise, the 1PL model is fitted as a generalized linear mixed model, by means of the glmer function of the lme4 package (Bates and Maechler, 2009). With the "ltm" engine, the common discrimination parameter can be either fixed to a constant value using the discr argument, or it can be estimated (though not returned) by specifying discr to NULL. The default value of the common discrimination is 1.

The 3PL model can be fitted either unconstrained or by fixing the pseudo-guessing values. In the latter case the argument c holds either a numeric vector of same length of the number of items, with one value per item pseudo-guessing parameter, or a single value which is duplicated for all the items. If c is different from NULL then the 3PL model is always fitted (whatever the value of model).

Each row of the output matrix corresponds to one item of the data set; the number of columns depends on the fitted model. At most, nine columns are produced, with the unconstrained 3PL model. The order of the columns is the following: first, the estimates of item discrimination a, difficulty b and pseudo-guessing c; second, the corresponding standard errors se(a), se(b) and se(c); finally, the covariances between the item parameters, cov(a,b), cov(a,c) and cov(b,c).

If the 2PL model is fitted, only five columns are displayed: a, b, se(a), se(b) and cov(a,b). In case of the 1PL model, only b and se(b) are returned. If the constrained 3PL is considered, the output matrix holds six columns, the first five being identical to those from the 2PL model, and the last one holds the fixed pseudo-guessing parameters.


A matrix with one row per item and at most nine columns, with item parameter estimates, standard errors and covariances, if any. See Details.


Whenever making use of the ltm package to fit the IRT models, the linear parametrization is used, the covariance matrix is extracted with the vcov() function, and final standard errors and covariances are derived by the Delta method. See Rizopoulos (2006) for further details, and the Note.pdf document in the difR package for mathematical details.


Sebastien Beland
Collectif pour le Developpement et les Applications en Mesure et Evaluation (Cdame)
Universite du Quebec a Montreal,
David Magis
Department of Psychology, University of Liege
Research Group of Quantitative Psychology and Individual Differences, KU Leuven,
Gilles Raiche
Collectif pour le Developpement et les Applications en Mesure et Evaluation (Cdame)
Universite du Quebec a Montreal,


Bates, D. and Maechler, M. (2009). lme4: Linear mixed-effects models using S4 classes. R package version 0.999375-31.

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

Rizopoulos, D. (2006). ltm: An R package for latent variable modelling and item response theory analyses. Journal of Statistical Software, 17, 1–25. doi: 10.18637/jss.v017.i05

See Also

itemPar1PL, itemPar2PL, itemPar3PL, itemPar3PLconst, difLord, difRaju,



## Not run: 

 # Loading of the verbal data

 # Estimation of the item parameters (1PL model, "ltm" engine)
 items.1PL <- itemParEst(verbal[,1:24], model = "1PL")

 # Estimation of the item parameters (1PL model, "ltm" engine,
 # estimated common discrimination parameter)
 items.1PL <- itemParEst(verbal[,1:24], model = "1PL", discr = NULL)

 # Estimation of the item parameters (1PL model, "lme4" engine)
 items.1PL <- itemParEst(verbal[,1:24], model = "1PL", engine = "lme4")

 # Estimation of the item parameters (2PL model)
 items.2PL <- itemParEst(verbal[,1:24], model = "2PL")

 # Estimation of the item parameters (3PL model)
 # items.3PL <- itemParEst(verbal[,1:24], model = "3PL")

 # Constraining all pseudo-guessing values to be equal to 0.05
 items.3PLc <- itemParEst(verbal[,1:24], model = "3PL", c = 0.05)

## End(Not run)

[Package difR version 5.1 Index]