1 Functionalities

The equateMultiple package computes:

  • Equating coefficients between multiple forms.
  • Synthetic item parameters (sort of mean of the item parameter estimates from different forms).
  • Standard errors of the equating coefficients and the synthetic item parameters.

2 Data preparation

Data preparation follows the same steps of the equateIRT package.

Load the package equateMultiple and the data

library("equateMultiple")
## Loading required package: equateIRT
data("data2pl", package = "equateIRT")

Estimate a two parameter logistic model for 5 data sets with the R package ltm

library("ltm")
m1 <- ltm(data2pl[[1]] ~ z1)
m2 <- ltm(data2pl[[2]] ~ z1)
m3 <- ltm(data2pl[[3]] ~ z1)
m4 <- ltm(data2pl[[4]] ~ z1)
m5 <- ltm(data2pl[[5]] ~ z1)

Extract the item parameter estimates and the covariance matrices

estm1 <- import.ltm(m1, display = FALSE)
estm2 <- import.ltm(m2, display = FALSE)
estm3 <- import.ltm(m3, display = FALSE)
estm4 <- import.ltm(m4, display = FALSE)
estm5 <- import.ltm(m5, display = FALSE)
estm1$coef[1:3, ]
##    (Intercept)       z1
## I1 -0.06213808 1.076155
## I2 -0.03090993 1.122379
## I3 -0.07939847 1.091369
estm1$var[1:3, 1:3]
##              [,1]         [,2]         [,3]
## [1,] 0.0012285184 0.0002460322 0.0002391000
## [2,] 0.0002460322 0.0012628923 0.0002495126
## [3,] 0.0002391000 0.0002495126 0.0012407430

Create a list of coefficients and covariance matrices

estc <- list(estm1$coef, estm2$coef, estm3$coef, estm4$coef, estm5$coef)
estv <- list(estm1$var, estm2$var, estm3$var, estm4$var, estm5$var)
test <- paste("test", 1:5, sep = "")

Create an object of class modIRT

mods <- modIRT(coef = estc, var = estv, names = test, display = FALSE)
coef(mods$test1)[1:5]
##   Dffclt.I1   Dffclt.I2   Dffclt.I3   Dffclt.I4   Dffclt.I5 
##  0.05774085  0.02753964  0.07275128  0.41568210 -0.00716265

The linkage plan

lplan<-linkp(coef = estc)
lplan
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   20   10    0    0   10
## [2,]   10   20   10    0    0
## [3,]    0   10   20   10    0
## [4,]    0    0   10   20   10
## [5,]   10    0    0   10   20

3 Multiple equating coefficients

Estimation of the equating coefficients using the multiple mean-mean method. Form 1 is the base form.

eqMM <- multiec(mods = mods, base = 1, method = "mean-mean")
## Computation of equating coefficients  .  .  .  . 
## Computation of standard errors  .  .  .  .
summary(eqMM)
## Equating coefficients:
##  EQ  Form Estimate   StdErr
##   A test1  1.00000 0.000000
##   A test2  0.84051 0.018648
##   A test3  0.84347 0.021334
##   A test4  0.83937 0.020694
##   A test5  1.02343 0.021524
##   B test1  0.00000 0.000000
##   B test2  0.10692 0.022427
##   B test3  0.20236 0.024039
##   B test4  0.36774 0.024111
##   B test5  0.50207 0.024026

Estimation of the equating coefficients using the multiple mean-geometric mean method.

eqMGM <- multiec(mods = mods, base = 1, method = "mean-gmean")
## Computation of equating coefficients  .  .  .  . 
## Computation of standard errors  .  .  .  .
summary(eqMGM)
## Equating coefficients:
##  EQ  Form Estimate   StdErr
##   A test1  1.00000 0.000000
##   A test2  0.83860 0.018695
##   A test3  0.84045 0.021383
##   A test4  0.83633 0.020746
##   A test5  1.02135 0.021591
##   B test1  0.00000 0.000000
##   B test2  0.10695 0.022410
##   B test3  0.20277 0.023938
##   B test4  0.36764 0.024044
##   B test5  0.50188 0.024001

Estimation of the equating coefficients using the multiple item response function method.

eqIRF<-multiec(mods = mods, base = 1, method = "irf")
## Computation of equating coefficients  .  .  .  . 
## Computation of standard errors  .  .  .  .
summary(eqIRF)
## Equating coefficients:
##  EQ  Form Estimate   StdErr
##   A test1  1.00000 0.000000
##   A test2  0.83635 0.018353
##   A test3  0.83610 0.020919
##   A test4  0.82919 0.020173
##   A test5  1.01249 0.021184
##   B test1  0.00000 0.000000
##   B test2  0.10802 0.021770
##   B test3  0.20935 0.023031
##   B test4  0.37199 0.023090
##   B test5  0.49709 0.023555

Estimation of the equating coefficients using the multiple item response function method. The initial values are the estimates obtained with the multiple mean-geometric mean method.

eqMGM <- multiec(mods = mods, base = 1, method = "mean-gmean", se = FALSE)
## Computation of equating coefficients  .  .  .  .
eqIRF<-multiec(mods = mods, base = 1, method = "irf", start = eqMGM)
## Computation of equating coefficients  .  .  .  . 
## Computation of standard errors  .  .  .  .
summary(eqIRF)
## Equating coefficients:
##  EQ  Form Estimate   StdErr
##   A test1  1.00000 0.000000
##   A test2  0.83635 0.018353
##   A test3  0.83610 0.020919
##   A test4  0.82919 0.020173
##   A test5  1.01249 0.021184
##   B test1  0.00000 0.000000
##   B test2  0.10802 0.021770
##   B test3  0.20935 0.023031
##   B test4  0.37199 0.023090
##   B test5  0.49709 0.023555

Estimation of the equating coefficients using the multiple test response function method.

eqTRF<-multiec(mods = mods, base = 1, method = "trf")
## Computation of equating coefficients  .  .  .  . 
## Computation of standard errors  .  .  .  .
summary(eqTRF)
## Equating coefficients:
##  EQ  Form Estimate   StdErr
##   A test1  1.00000 0.000000
##   A test2  0.83681 0.018421
##   A test3  0.83744 0.021048
##   A test4  0.83154 0.020298
##   A test5  1.01646 0.021209
##   B test1  0.00000 0.000000
##   B test2  0.10639 0.021817
##   B test3  0.20580 0.023118
##   B test4  0.36873 0.023154
##   B test5  0.49499 0.023600

4 Synthetic item parameters

The synthetic item parameters and their standard errors can be extracted as follows (using the multiple item response function method).

eqIRF$as
##  Dscrmn.I1 Dscrmn.I10 Dscrmn.I11 Dscrmn.I12 Dscrmn.I13 Dscrmn.I14 
##  1.0263300  1.3186514  1.0628256  1.1077121  1.3780255  1.1849060 
## Dscrmn.I15 Dscrmn.I16 Dscrmn.I17 Dscrmn.I18 Dscrmn.I19  Dscrmn.I2 
##  1.0797961  1.3717438  1.2509322  1.1473431  1.3149445  1.1374079 
## Dscrmn.I20 Dscrmn.I21 Dscrmn.I22 Dscrmn.I23 Dscrmn.I24 Dscrmn.I25 
##  1.0070348  1.1943277  1.2399568  1.2972537  1.0413250  1.2803009 
## Dscrmn.I26 Dscrmn.I27 Dscrmn.I28 Dscrmn.I29  Dscrmn.I3 Dscrmn.I30 
##  1.3294265  1.3129234  1.1536342  1.1056767  1.0782685  1.3051024 
## Dscrmn.I31 Dscrmn.I32 Dscrmn.I33 Dscrmn.I34 Dscrmn.I35 Dscrmn.I36 
##  1.4679605  1.3688577  1.3333632  1.4005527  1.2974183  1.0511445 
## Dscrmn.I37 Dscrmn.I38 Dscrmn.I39  Dscrmn.I4 Dscrmn.I40 Dscrmn.I41 
##  1.2689048  1.4780647  1.3871910  1.3145141  1.4580333  1.1895968 
## Dscrmn.I42 Dscrmn.I43 Dscrmn.I44 Dscrmn.I45 Dscrmn.I46 Dscrmn.I47 
##  1.1991245  1.1820406  1.1438774  1.3954929  1.3527279  1.2618251 
## Dscrmn.I48 Dscrmn.I49  Dscrmn.I5 Dscrmn.I50  Dscrmn.I6  Dscrmn.I7 
##  1.1551069  0.9800754  1.0270970  1.2328251  0.9410529  1.0052578 
##  Dscrmn.I8  Dscrmn.I9 
##  1.1833536  1.0040658
eqIRF$bs
##   Dffclt.I1  Dffclt.I10  Dffclt.I11  Dffclt.I12  Dffclt.I13  Dffclt.I14 
##  0.04680159  0.67020856  0.93109634  0.79043223  0.43683497  0.75463195 
##  Dffclt.I15  Dffclt.I16  Dffclt.I17  Dffclt.I18  Dffclt.I19   Dffclt.I2 
##  0.82951627  0.11667937  0.59893566  0.57922077  0.89350937  0.01160208 
##  Dffclt.I20  Dffclt.I21  Dffclt.I22  Dffclt.I23  Dffclt.I24  Dffclt.I25 
##  0.07364461  0.23644361 -0.09992649 -0.41581481  0.62576552  0.39477998 
##  Dffclt.I26  Dffclt.I27  Dffclt.I28  Dffclt.I29   Dffclt.I3  Dffclt.I30 
##  0.28054816  0.74507324  0.38431305 -0.41217210  0.04639957  0.81854107 
##  Dffclt.I31  Dffclt.I32  Dffclt.I33  Dffclt.I34  Dffclt.I35  Dffclt.I36 
##  0.52952744  0.80600281  0.55941089 -0.36603676  0.45840659  0.85483709 
##  Dffclt.I37  Dffclt.I38  Dffclt.I39   Dffclt.I4  Dffclt.I40  Dffclt.I41 
##  0.48752328 -0.12828412  0.51856681  0.38850704  0.85860534 -0.58246660 
##  Dffclt.I42  Dffclt.I43  Dffclt.I44  Dffclt.I45  Dffclt.I46  Dffclt.I47 
## -0.28920713  1.26110283  1.12164448  0.56075671 -0.31084350  0.47861241 
##  Dffclt.I48  Dffclt.I49   Dffclt.I5  Dffclt.I50   Dffclt.I6   Dffclt.I7 
##  0.20196743  0.27988322  0.01748403  0.34034716 -0.77150306  0.14004614 
##   Dffclt.I8   Dffclt.I9 
##  0.33614495 -0.17864329
eqIRF$se.as
##  Dscrmn.I1 Dscrmn.I10 Dscrmn.I11 Dscrmn.I12 Dscrmn.I13 Dscrmn.I14 
## 0.03495588 0.04187786 0.04221454 0.04287726 0.04899610 0.04464139 
## Dscrmn.I15 Dscrmn.I16 Dscrmn.I17 Dscrmn.I18 Dscrmn.I19  Dscrmn.I2 
## 0.04231166 0.04855524 0.04598656 0.04329678 0.04869024 0.03717496 
## Dscrmn.I20 Dscrmn.I21 Dscrmn.I22 Dscrmn.I23 Dscrmn.I24 Dscrmn.I25 
## 0.03979567 0.04483082 0.04645440 0.04913040 0.04132664 0.04703964 
## Dscrmn.I26 Dscrmn.I27 Dscrmn.I28 Dscrmn.I29  Dscrmn.I3 Dscrmn.I30 
## 0.04825891 0.04844480 0.04380390 0.04393780 0.03598386 0.04846504 
## Dscrmn.I31 Dscrmn.I32 Dscrmn.I33 Dscrmn.I34 Dscrmn.I35 Dscrmn.I36 
## 0.04237596 0.04101176 0.03931653 0.04122265 0.03831698 0.03406463 
## Dscrmn.I37 Dscrmn.I38 Dscrmn.I39  Dscrmn.I4 Dscrmn.I40 Dscrmn.I41 
## 0.03771167 0.04231999 0.04048852 0.04112994 0.04347242 0.04359194 
## Dscrmn.I42 Dscrmn.I43 Dscrmn.I44 Dscrmn.I45 Dscrmn.I46 Dscrmn.I47 
## 0.04247471 0.04266961 0.04113018 0.04616402 0.04670080 0.04278476 
## Dscrmn.I48 Dscrmn.I49  Dscrmn.I5 Dscrmn.I50  Dscrmn.I6  Dscrmn.I7 
## 0.04032199 0.03641452 0.03503836 0.04209305 0.03478125 0.03458554 
##  Dscrmn.I8  Dscrmn.I9 
## 0.03819397 0.03477342
eqIRF$se.bs
##  Dffclt.I1 Dffclt.I10 Dffclt.I11 Dffclt.I12 Dffclt.I13 Dffclt.I14 
## 0.02628883 0.02738288 0.03792320 0.03400229 0.02585817 0.03222779 
## Dffclt.I15 Dffclt.I16 Dffclt.I17 Dffclt.I18 Dffclt.I19  Dffclt.I2 
## 0.03526458 0.02458570 0.02885806 0.02965635 0.03344091 0.02495266 
## Dffclt.I20 Dffclt.I21 Dffclt.I22 Dffclt.I23 Dffclt.I24 Dffclt.I25 
## 0.02826440 0.02658532 0.02838793 0.03314244 0.03086282 0.02615282 
## Dffclt.I26 Dffclt.I27 Dffclt.I28 Dffclt.I29  Dffclt.I3 Dffclt.I30 
## 0.02546005 0.02955263 0.02725851 0.03552543 0.02561236 0.03089467 
## Dffclt.I31 Dffclt.I32 Dffclt.I33 Dffclt.I34 Dffclt.I35 Dffclt.I36 
## 0.02378732 0.02750672 0.02504117 0.02565134 0.02466081 0.03195958 
## Dffclt.I37 Dffclt.I38 Dffclt.I39  Dffclt.I4 Dffclt.I40 Dffclt.I41 
## 0.02499000 0.02321337 0.02443617 0.02454001 0.02702879 0.03788098 
## Dffclt.I42 Dffclt.I43 Dffclt.I44 Dffclt.I45 Dffclt.I46 Dffclt.I47 
## 0.03163075 0.03764630 0.03511477 0.02537526 0.03036798 0.02589473 
## Dffclt.I48 Dffclt.I49  Dffclt.I5 Dffclt.I50  Dffclt.I6  Dffclt.I7 
## 0.02680342 0.02885080 0.02631625 0.02583940 0.03742903 0.02669245 
##  Dffclt.I8  Dffclt.I9 
## 0.02535449 0.02745309

5 Equated scores

Equated scores with the true score equating method

scTSE<-score(eqIRF)
## The following scores are not attainable: 0 
## The following scores are not attainable: 0 
## The following scores are not attainable: 0 
## The following scores are not attainable: 0
round(scTSE,3)
##     theta test1 test2.as.test1 StdErr_test2.as.test1 test3.as.test1
## 1  -2.345     1          1.073                 0.027          0.784
## 2  -1.662     2          2.072                 0.034          1.652
## 3  -1.243     3          3.041                 0.039          2.551
## 4  -0.930     4          3.992                 0.041          3.470
## 5  -0.673     5          4.933                 0.042          4.403
## 6  -0.450     6          5.870                 0.042          5.347
## 7  -0.248     7          6.806                 0.041          6.301
## 8  -0.061     8          7.742                 0.040          7.264
## 9   0.118     9          8.682                 0.040          8.236
## 10  0.293    10          9.626                 0.041          9.217
## 11  0.466    11         10.576                 0.043         10.208
## 12  0.642    12         11.534                 0.047         11.208
## 13  0.824    13         12.501                 0.052         12.221
## 14  1.018    14         13.481                 0.058         13.248
## 15  1.230    15         14.476                 0.062         14.293
## 16  1.472    16         15.491                 0.065         15.358
## 17  1.764    17         16.533                 0.065         16.450
## 18  2.152    18         17.611                 0.060         17.577
## 19  2.782    19         18.746                 0.044         18.752
## 20 35.219    20         20.000                 0.000         20.000
##    StdErr_test3.as.test1 test4.as.test1 StdErr_test4.as.test1
## 1                  0.041          0.933                 0.050
## 2                  0.060          1.968                 0.071
## 3                  0.070          3.017                 0.080
## 4                  0.074          4.062                 0.082
## 5                  0.074          5.096                 0.080
## 6                  0.071          6.117                 0.076
## 7                  0.067          7.124                 0.070
## 8                  0.063          8.119                 0.065
## 9                  0.060          9.102                 0.061
## 10                 0.060         10.075                 0.059
## 11                 0.063         11.041                 0.059
## 12                 0.068         12.002                 0.061
## 13                 0.074         12.960                 0.065
## 14                 0.081         13.920                 0.069
## 15                 0.087         14.884                 0.073
## 16                 0.091         15.858                 0.074
## 17                 0.089         16.847                 0.073
## 18                 0.081         17.861                 0.066
## 19                 0.059         18.909                 0.049
## 20                 0.000         20.000                 0.000
##    test5.as.test1 StdErr_test5.as.test1
## 1           0.751                 0.034
## 2           1.634                 0.047
## 3           2.563                 0.052
## 4           3.517                 0.052
## 5           4.487                 0.050
## 6           5.467                 0.047
## 7           6.456                 0.045
## 8           7.453                 0.043
## 9           8.456                 0.041
## 10          9.466                 0.040
## 11         10.483                 0.041
## 12         11.508                 0.042
## 13         12.540                 0.044
## 14         13.580                 0.047
## 15         14.629                 0.050
## 16         15.688                 0.051
## 17         16.756                 0.051
## 18         17.836                 0.047
## 19         18.926                 0.036
## 20         20.000                 0.000

Equated scores with the observed score equating method, avoiding computation of standard errors

scOSE<-score(eqIRF, method = "OSE", se = FALSE)
round(scOSE,3)
##    test1 test2.as.test1 test3.as.test1 test4.as.test1 test5.as.test1
## 1      0          0.031         -0.164         -0.024         -0.158
## 2      1          1.032          0.714          0.984          0.725
## 3      2          2.014          1.612          2.014          1.639
## 4      3          2.983          2.525          3.049          2.577
## 5      4          3.941          3.445          4.079          3.532
## 6      5          4.893          4.380          5.102          4.499
## 7      6          5.841          5.327          6.115          5.475
## 8      7          6.788          6.285          7.118          6.460
## 9      8          7.735          7.252          8.110          7.453
## 10     9          8.683          8.227          9.094          8.453
## 11    10          9.635          9.211         10.070          9.458
## 12    11         10.590         10.202         11.041         10.470
## 13    12         11.551         11.203         12.007         11.489
## 14    13         12.519         12.214         12.970         12.515
## 15    14         13.496         13.235         13.935         13.547
## 16    15         14.487         14.269         14.902         14.588
## 17    16         15.489         15.317         15.875         15.636
## 18    17         16.507         16.378         16.857         16.692
## 19    18         17.551         17.451         17.853         17.756
## 20    19         18.626         18.547         18.868         18.828
## 21    20         19.742         19.703         19.906         19.906