Learn R Programming

sirt (version 1.5-0)

equating.rasch: Equating in the Generalized Logistic Rasch Model

Description

This 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).

Usage

equating.rasch(x, y, theta = seq(-4, 4, len = 100), 
       alpha1 = 0, alpha2 = 0)

Arguments

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 theta=qnorm( seq(.001 , .999 , len=100) , mean=mu, sd=sigma)
alpha1
Fixed $\alpha_1$ parameter in the generalized item response model
alpha2
Fixed $\alpha_2$ parameter in the generalized item response model

Value

  • B.estEstimated linking constants according to the methods Mean.Mean (Mean-mean linking), Haebara (Haebara method) and Stocking.Lord (Stocking-Lord method).
  • descriptivesDescriptives of the linking. The linking error (linkerror) is calculated under the assumption of simple random sampling of items
  • anchorOriginal and transformed item parameters of anchor items
  • transf.parOriginal and transformed item parameters of all items

References

Kolen, M. J., & Brennan, R. L. (2004). Test Equating, Scaling, and Linking: Methods and Practices. New York: Springer.

See Also

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.

Examples

Run this code
#############################################################################
# EXAMPLE 1: Linking item parameters of the PISA study
#############################################################################

data(data.pisaPars)
pars <- data.pisaPars

# linking the two studies with the Rasch model
mod <- equating.rasch(x=pars[,c("item","study1")], y=pars[,c("item","study2")])
  ##   Mean.Mean    Haebara Stocking.Lord
  ## 1   0.08828 0.08896269    0.09292838

#*** linking using the plink package	
library(plink)	
I <- nrow(pars)
pm <- 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.pars, 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)

Run the code above in your browser using DataLab