Learn R Programming

irtoys (version 0.2.2)

sca: Linear transformation of the IRT scale

Description

Linearly transform a set of IRT parameters to bring them to the scale of another set of parameters. Four methods are implemented: Mean/Mean, Mean/Sigma, Lord-Stocking, and Haebara.

Usage

sca(
  old.ip,
  new.ip,
  old.items,
  new.items,
  old.qu = NULL,
  new.qu = NULL,
  method = "MS",
  bec = FALSE
)

Arguments

old.ip

A set of parameters that are already on the desired scale

new.ip

A set of parameters that must be placed on the same scale as old.ip

old.items

A vector of indexes pointing to those items in old.ip that are common to both sets of parameters

new.items

The indexes of the same items in new.ip

old.qu

A quadrature object for old.ip, typically produced by the same program that estimated old.ip. Only needed if method="LS" or method="HB"

new.qu

A quadrature object for new.ip, typically produced by the same program that estimated new.ip. Only needed if method="HB"

method

One of "MM" (Mean/Mean), "MS" (Mean/Sigma), "SL" (Stocking-Lord), or "HB" (Haebara). Default is "MS"

bec

Use back-equating correction? When TRUE, the Stocking-Lord or Hebaera procedures will be adjusted for back-equating (see Hebaera, 1980). Ignored when method is MM or MS. Default is FALSE.

Value

A list of:

slope

The slope of the linear transformation

intercept

The intercept of the linear transformation

scaled.ip

The parameters in new.ip tranformed to a scale that is compatible with old.ip

References

Kolen, M.J. & R.L. Brennan (1995) Test Equating: Methods and Practices. Springer.

Haebara, T. (1980) Equating logistic ability scales by a weighted lest squares method. Japanese Psychological Research, 22, p.144--149

Examples

Run this code
# NOT RUN {
# }
# NOT RUN {
# a small simulation to demonstrate transformation to a common scale
# fake 50 2PL items
pa <- cbind(runif(50,.8,2), runif(50,-2.4,2.4), rep(0,50))
# simulate responses with  two samples of different ability levels
r.1 <- sim(ip=pa[1:30,],  x=rnorm(1000,-.5))
r.2 <- sim(ip=pa[21:50,], x=rnorm(1000,.5))
# estimate item parameters
p.1 <- est(r.1, engine="ltm")
p.2 <- est(r.2, engine="ltm")
# plot difficulties to show difference in scale
plot(c(-3,3), c(-3,3), ty="n", xlab="True",ylab="Estimated",
   main="Achieving common scale")
text(pa[1:30,2],  p.1$est[,2], 1:30)
text(pa[21:50,2], p.2$est[,2], 21:50, co=2)
# scale with the default Mean/Sigma method
pa.sc = sca(old.ip=p.1$est, new.ip=p.2$est, old.items=21:30, new.items=1:10)
# add difficulties of scaled items to plot
text(pa[21:50,2], pa.sc$scaled.ip[,2], 21:50, co=3)
# }
# NOT RUN {
# }

Run the code above in your browser using DataLab