Learn R Programming

DFIT (version 1.1)

IrtMh: Calculates the Mantel-Haenszel theoretical parameter when a dichotomous IRT model holds

Description

Calculates the Mantel-Haenszel theoretical parameter when a dichotomous IRT model holds

Usage

IrtMh(
  itemParameters,
  irtModel = "2pl",
  focalDistribution = "norm",
  referenceDistribution = "norm",
  focalDistrExtra = list(mean = 0, sd = 1),
  referenceDistrExtra = list(mean = 0, sd = 1),
  groupRatio = 1,
  logistic = TRUE,
  subdivisions = 5000
)

Arguments

itemParameters

A list containing the "focal" and "reference" item parameters. Item parameters are assumed to be on the same scale.

irtModel

A string stating the irtModel used. May be one of "1pl", "2pl", or "3pl".

focalDistribution

A string stating the distribution assumed for the focal group.

referenceDistribution

A string stating the distribution assumed for the reference group.

focalDistrExtra

A list of extra parameters for the focal distribution function.

referenceDistrExtra

A list of extra parameters for the reference distribution function.

groupRatio

A positive value indicating how many members of the reference group are expected for each member of the focal group.

logistic

A logical indicating whether the logistic or the normal metric should be used.

subdivisions

A numeric value stating the maximum number of subdivisions for adaptive quadrature.

Value

mh A list containing the asymptotic matrices for each item

References

Roussos, L., Schnipke, D. & Pashley, P. (1999). A generalized formula for the Mantel-Haenszel Differential Item Functioning parameter. Journal of educational and behavioral statistics, 24(3), 293--322. doi:10.3102/10769986024003293

Examples

Run this code
# NOT RUN {
data(dichotomousItemParameters)
threePlParameters <- dichotomousItemParameters
isNot3Pl          <- ((dichotomousItemParameters[['focal']][, 3] == 0) |
                      (dichotomousItemParameters[['reference']][, 3] == 0))

threePlParameters[['focal']]          <- threePlParameters[['focal']][!isNot3Pl, ]
threePlParameters[['reference']]      <- threePlParameters[['reference']][!isNot3Pl, ]
threePlParameters[['focal']][, 3]     <- threePlParameters[['focal']][, 3] + 0.1
threePlParameters[['reference']][, 3] <- threePlParameters[['reference']][, 3] + 0.1
threePlParameters[['focal']][, 2]     <- threePlParameters[['focal']][, 2] + 1.5
threePlParameters[['reference']][, 2] <- threePlParameters[['reference']][, 2] + 1.5
threePlParameters[['focal']]          <- threePlParameters[['focal']][-c(12, 16, 28), ]
threePlParameters[['reference']]      <- threePlParameters[['reference']][-c(12, 16, 28), ]

threePlMh <- IrtMh(itemParameters = threePlParameters,  irtModel = "3pl",
                   focalDistribution = "norm", referenceDistribution = "norm",
                   focalDistrExtra = list(mean = 0, sd = 1),
                   referenceDistrExtra = list(mean = 0, sd = 1), groupRatio = 1,
                   logistic = FALSE)

# }

Run the code above in your browser using DataLab