equating.rasch.RdThis function does the linking in the generalized logistic item response model. Only item difficulties (\(b\) item parameters) are allowed. Mean-mean linking and the methods of Haebara and Stocking-Lord are implemented (Kolen & Brennan, 2004).
equating.rasch(x, y, theta=seq(-4, 4, len=100), alpha1=0, alpha2=0)
| x | Matrix with two columns: First column items, second column item difficulties |
|---|---|
| y | Matrix with two columns: First columns item, second column item difficulties |
| theta | Vector of theta values at which the linking functions
should be evaluated. If a weighting according to a prespecified normal
distribution \(N( \mu,\sigma^2)\) is aimed, then choose
|
| alpha1 | Fixed \(\alpha_1\) parameter in the generalized item response model |
| alpha2 | Fixed \(\alpha_2\) parameter in the generalized item response model |
Estimated linking constants according to the methods
Mean.Mean (Mean-mean linking), Haebara (Haebara method)
and Stocking.Lord (Stocking-Lord method).
Descriptives of the linking. The linking error
(linkerror) is calculated under the assumption of simple
random sampling of items
Original and transformed item parameters of anchor items
Original and transformed item parameters of all items
Kolen, M. J., & Brennan, R. L. (2004). Test Equating, Scaling, and Linking: Methods and Practices. New York: Springer.
For estimating standard errors (due to inference with respect to
the item domain) of this procedure see equating.rasch.jackknife.
For linking several studies see linking.haberman or
invariance.alignment.
A robust alternative to mean-mean linking is implemented in
linking.robust.
For linking under more general item response models see the plink package.
############################################################################# # EXAMPLE 1: Linking item parameters of the PISA study ############################################################################# data(data.pisaPars) pars <- data.pisaPars # linking the two studies with the Rasch model mod <- sirt::equating.rasch(x=pars[,c("item","study1")], y=pars[,c("item","study2")]) ## Mean.Mean Haebara Stocking.Lord ## 1 0.08828 0.08896269 0.09292838 if (FALSE) { #*** linking using the plink package # The plink package is not available on CRAN anymore. # You can download the package with # utils::install.packages("plink", repos="http://www2.uaem.mx/r-mirror") library(plink) I <- nrow(pars) pm <- plink::as.poly.mod(I) # linking parameters plink.pars1 <- list( "study1"=data.frame( 1, pars$study1, 0 ), "study2"=data.frame( 1, pars$study2, 0 ) ) # the parameters are arranged in the columns: # Discrimination, Difficulty, Guessing Parameter # common items common.items <- cbind("study1"=1:I,"study2"=1:I) # number of categories per item cats.item <- list( "study1"=rep(2,I), "study2"=rep(2,I)) # convert into plink object x <- plink::as.irt.pars( plink.pars1, common.items, cat=cats.item, poly.mod=list(pm,pm)) # linking using plink: first group is reference group out <- plink::plink(x, rescale="MS", base.grp=1, D=1.7) # summary for linking summary(out) ## ------- group2/group1* ------- ## Linking Constants ## ## A B ## Mean/Mean 1.000000 -0.088280 ## Mean/Sigma 1.000000 -0.088280 ## Haebara 1.000000 -0.088515 ## Stocking-Lord 1.000000 -0.096610 # extract linked parameters pars.out <- plink::link.pars(out) }