tseq {lazy.irt} | R Documentation |
This function performs the IRT True Score Equating of
two test scores.
Japanese help file: (tseq_JPH)
tseq(
param1 = NULL,
param2 = NULL,
weight1 = NULL,
weight2 = NULL,
method = 0,
interpol = "spline",
thmin = -5,
thmax = 5,
npoints = 121,
round = 0,
by_x = 1,
print = 0,
plot = 0
)
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 |
method |
= 0 to use interpolation when calculating inv trf |
interpol |
Interpolation option: See |
thmin |
The minimum value of theta for interpolation. |
thmax |
The maximum value of theta for interpolation. |
npoints |
# of theta points in |
round |
= 1 to round the result to integer |
by_x |
The increment of x |
print |
= 1 or 2 to print the result |
plot |
= 1 to plot the result |
This function equates the test score of test1, x1, to the score of test2,
x2.
The resulting score will be named as x2_1.
The score of test1 at
x1 <- seq(minscore,maxscore, by=by_x)
will be equated to the score of test2.
Note that, when round=1
, the result may NOT be symmetric.
Run the example below with by_x=1
and round=1
.
A list of
x1 The test score of test1
x2_1 The test2 equivalent of x
theta The value of theta corresponding to x.
locmin The locations of very small theta values.
locmax The locations of very large theta values
minmax1 The minimum and maximum score of test1 score
minmax2 The minimum and maximum score of test2 score
res <- tseq( paramS1, paramS2, print=2 )
res <- tseq( paramS1, paramS2, weight1=weightS12, weight2=weightS21, print=2 )
# The effect of item weight.
res <- tseq( paramB1, paramB1, weight1=weightB11, weight2=weightB12, print=3 )
# checking if symmetric
# equate test1 to test2
res1 <- tseq( paramS1, paramS2, by_x=0.5 )
# equate test2 to test1
res2 <- tseq( paramS2, paramS1, by_x=0.5 )
# 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 )
printm(rx,ry)
# comparison of methods
res1 <- tseq( paramS1, paramS1, method=1, by_x=0.1, weight2=weightS12 )
res2 <- tseq( paramS1, paramS1, method=0, by_x=0.1, weight2=weightS12 )
# Print(res1$x1, res1$x2_1, res1$x2_1-res2$x2_1, fmt="6.1, 6.4 9.6")
summary( abs(res1$x2_1-res2$x2_1) )