oseq {lazy.irt}R Documentation

IRT Observed Score Equating

Description

This function performs the IRT Observed Score Equating of two test scores.
Japanese help file: (oseq_JPH)

Usage

oseq(
  param1 = NULL,
  param2 = NULL,
  weight1 = NULL,
  weight2 = NULL,
  thmin = -4,
  thmax = 4,
  npoints = 31,
  thdist = 1,
  smooth1 = 0,
  bandwid1 = 3,
  smooth2 = 0,
  bandwid2 = 3,
  round = 0,
  print = 0,
  plot = 0
)

Arguments

param1

The item parameter data frame for test1

param2

The item parameter data frame for test2

weight1

The weight data frame for test1, or NULL

weight2

The weigth data frame for test2, or NULL

thmin

The minimum value of theta to calculate the marginal score distribution.

thmax

The maximum value of theta to calculate the marginal score distribution.

npoints

# of theta points in [thmin,thmax]

thdist

= 1 to use normal theta, = 0 to use uniform theta.

smooth1

# of times to smooth cdf1.

bandwid1

bandwidth for running average smooth of cdf1.

smooth2

# of times to smooth cdf2.

bandwid2

bandwidth for running average smooth of cdf2.

round

= 1 to round the result to integer

print

= 1 or 2 to print the result

plot

= 1 to plot the result

Details

This function equates the test score of test1, x1, to the score of test2, x2. by the IRT Observed Score Equating.
The resulting score will be named as x2_1.

In irt observed score equating, the conditional distribution of X given theta, Px_t, is calculated first. Then, using the marginal distribution of theta, P_t, the joint distribution of X and theta, Pxt, is calculated. Finally, the marginal distribution of X, Px, is calculated from Pxt.
Given (x1, Px1) and (x2, Px2), equipercentile equating will be used to equate x1 to x2.

Note that, when round=1, the result may NOT be symmetric.
Run the example below with by_x=1 and round=1.

The marginal distribution of the test score will be calculated by obscore_s which is a simpler form of obscore.

The equipercentile equating will be performed by coseq.

Value

A list of
x1 The test score of test1.
x2 The test score of test2.
x2_1 The test2 equivalent score of x1.
p1 The marginal distribution of test1 score.
p2 The marginal distribution of test2 score.

Examples

res=oseq( paramS1, paramS2, print=2 )
res=oseq( paramS1, paramS2, weight1=weightS12, weight2=weightS21, print=2 )

# The effect of item weight.
res=oseq( paramS1, paramS1, weight2=weightS12, print=3 )

# checking if symmetric
# equate test1 to test2
res1 <- oseq( paramS1, paramS2 )
# equate test2 to test1
res2 <- oseq( paramS2, paramS1 )
# merge result
r1 <- data.frame(x1=res1$x1, y1=res1$x2_1)
r2 <- data.frame(y2=res2$x1, x2=res2$x2_1)
rx <- merge( r1, r2, by.x="x1", by.y="x2", all=TRUE)
rx$y <- ifelse( is.na(rx$y1), rx$y2, rx$y1 )
ry <- merge( r1, r2, by.x="y1", by.y="y2", all=TRUE)
ry$x <- ifelse( is.na(ry$x1), ry$x2, ry$x1 )
rxr <- round(rx,4); ryr=round(ry,4)
printm(rxr,ryr)


[Package lazy.irt version 0.1.6 ]