
equate(x, y, type, method = NA, name = NULL, ident = 0, bootse = FALSE, ...)
freqtab
y
is an object of class "mean"
, "linear"
, "equipercentile"
, "circle-arc"
, or abbreviations of theseNA
(default) indicates equating under the random groups design, and "nominal weights"
, "tucker"
, "levine"
, "frequency estimation"
, "braun/h
FALSE
)equate
name
or NULL
if not specifiedx
and y
are separate frequency tables where each row contains a score scale point and the total number of examinees obtaining that score. For the nonequivalent groups design each row contains a score scale point on x
or y
, a score scale point on the anchor test, and the total number of examinees obtaining that score combination (see freqtab
for details). When equating output is supplied for y
, no other arguments are required and scores from x
are converted directly to the scale indicated in y
. In this case x
must be a vector of scores.
Four equating types are currently supported: mean, linear, and equipercentile, as described by Kolen and Brennan (2004), and circle-arc equating, as described by Livingston and Kim (2009). The equating design is implied by the method
argument, where NA
(default) indicates that no method is needed (because examinees taking forms X and Y are assumed to be equivalent). The nominal weights, Tucker, Levine observed score, Levine true score, frequency estimation, Braun/Holland, and chained equating methods are supported for the nonequivalent groups with anchor test design. All but the Levine true score and chained method rely on a x
and y
.
Depending on the equating method, the following additional arguments may be required:
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
For equipercentile equating under the random groups design, three smoothing options are available: "bump"
and "average"
(see freqbump
and freqavg
) require the additional argument jmin
, and loglinear smoothing ("loglin"
) requires the score functions xscorefun
and yscorefun
(see loglinear
). For frequency estimation and chained methods, only smoothing methods "freqbump"
and "loglin"
are supported.
The parameter Ky
is used to obtain form Y equivalents of form X scores with percentile ranks of 100. Typically Ky
is set to be the number of score points in the form Y scale, which assumes that scores are integers ranging from 1 (or 0) to the total number of items, and that each item is scored correct/incorrect. Scores on other scales (such as scales which include negative values, or which exclude zero) may also be used. In such cases Ky
can be set to the highest possible score on form Y, or alternatively the highest observed score on Y. Specifying Ky = "maxobs"
sets Ky to the maximum observed score on Y. This may be useful for calculating bootstrap standard errors, where Ky would depend on the particular bootstrap sample.
Standard errors are returned for the random groups design only, using equations derived by Lord (1982, p. 168) for equipercentile equating and Braun and Holland (1982) for linear. Bootstrap standard errors are estimated using a default of reps=100
replications, sampling the maximum amount from each score distribution (controlled by the arguments xn
and yn
; see se.boot
).freqbump
, freqavg
, loglinear
, se.boot
# see vignette("equatevignette") for description of methods
# and additional examples
# random groups equating for (1) mean, (2) linear,
# (3) equipercentile, and (4) equipercentile with
# loglinear smoothing:
rscale <- ACTmath[, 1]
rx <- as.freqtab(rscale, ACTmath[, 2])
ry <- as.freqtab(rscale, ACTmath[, 3])
set.seed(2007)
req1 <- equate(rx, ry, type = "m", bootse = TRUE, reps = 50)
req2 <- equate(rx, ry, type = "l", bootse = TRUE, reps = 50)
req3 <- equate(rx, ry, type = "e", bootse = TRUE, reps = 50)
req4 <- equate(rx, ry, type = "e", bootse = TRUE, reps = 50,
smooth = "loglin", degree = 3)
# compare equated scores:
cbind(rscale, mean = req1$conc[, 2], linear = req2$conc[, 2],
equip = req3$conc[, 2], equipS = req4$conc[, 2])
# compare boostrap standard errors:
cbind(rscale, linear = req2$bootsee, equip = req3$bootsee,
equipS = req4$bootsee)
# nonequivalent groups design for (1) Tucker linear,
# (2) frequency estimation , and (3) Braun/Holland linear
nscale <- 0:36
vscale <- 0:12
nx <- freqtab(nscale, KBneat$x[, 1], vscale, KBneat$x[, 2])
ny <- freqtab(nscale, KBneat$y[, 1], vscale, KBneat$y[, 2])
neq1 <- equate(nx, ny, type = "Linear", method = "Tuck", w = 1)
neq2 <- equate(nx, ny, type = "equip", method = "freq", w = 1)
neq3 <- equate(nx, ny, type = "linear", method = "braun", w = 1)
# compare equated scores:
cbind(nscale, Tucker = neq1$conc[, 2], FE = neq2$conc[, 2],
Braun = neq3$conc[, 2])
Run the code above in your browser using DataLab