Learn R Programming

irtoys (version 0.1.7)

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: 
# # 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)
# ## End(Not run)

Run the code above in your browser using DataLab