Learn R Programming

equate (version 0.1-1)

equate: Linear and Equipercentile Equating

Description

This function performs linear and equipercentile equating of test scores under the random groups and nonequivalent groups with anchor test designs (as described in Kolen & Brennan, 2004).

Usage

equate(x, y, type, method = "none", bootse = FALSE,
  internal = TRUE, Ky = max(y[,1]), w = 1, ...)

Arguments

x, y
score distributions of class freqtab for forms X and Y. Under the random groups design (i.e., no anchor test) x and y will each contain the score scale in column 1
type
the type of equating, as the string "mean", "linear", or "equipercentile"
method
string specifying the equating method, where "none" (default) indicates observed score equating under the random groups design, and "tucker", "levine", and "frequency" (i.e., frequency estimation) indica
bootse
logical indicating whether or not bootstrap standard errors of equating should be returned (default is FALSE)
internal
logical indicating whether or not the anchor item scores are included in the total scores (applies only to the Levine method; default is TRUE)
Ky
integer, typically indicating the number of items on form Y, or the maximum possible score on Y. This value is used in equipercentile equating for the extremes of the scale (see equate.eq for details)
w
value between 0 and 1 specifying the weight applied to form X scores (and implicitly specifying the form Y weight as 1 - w) when estimating the synthetic population
...
further arguments passed to or from other methods

Value

  • An object of class equate is returned, listing the following components (the last 7 are conditional on the equating type, method, and smoothing):
  • typeequating type
  • methodequating method
  • designequating design, inferred from the method
  • statsmeans and standard deviations for the raw scores
  • freqtabfrequency table containing the score scale, frequencies, and the cumulative distribution functions for forms X and Y
  • concordanceconversion table containing scores on X with their form Y equivalents. For the random groups design a column of standard errors is included (see se.ln and se.eq for details)
  • coefficientsslope and intercept used in mean and linear equating
  • synthstatsmeans and standard deviations for the anchor and synthetic distributions
  • synthtabfrequency table for the synthetic distribution, used in frequency estimation equipercentile equating
  • anchortabfrequency table for the anchor test
  • smoothmethodsmoothing method
  • smoothouta list of smoothing output, the length of which depends on the method chosen (for loglinear smoothing this list can be very long)
  • bootsevector of bootstrap standard errors of equating

Details

As noted above, for the random groups design x and y are separate frequency tables where each row contains 1) a score scale point and 2) the total number of examinees obtaining that score. For the nonequivalent groups design each row contains 1) a score scale point on x or y, 2) a score scale point on the anchor test, and 3) the total number of examinees obtaining that score combination (see freqtab for more details). The equating design is implied by the method argument, where "none" (default) indicates that no method is needed (because examinees taking forms X and Y are assumed to be randomly equivalent). The Tucker, Levine, and frequency estimation methods are supported for the nonequivalent groups with anchor test design. These methods rely on a synthetic distribution of scores which is a weighted combination of x and y (see synthetic for details). For both mean and linear equating arguments are passed to equate.ln, and subsequenty to synthetic when the Tucker or Levine method is requested. The Levine method, or more specifically the Levine observed score method, requires the additional argument internal which is used to estimate the relationship between the anchor and total scores. For equipercentile equating, arguments are passed to equate.eq, where smoothing is carried out using the functions freqbump, freqavg and loglinear, each requiring additional smoothing parameters. Standard errors are returned for the random groups design only. Bootstrap standard errors may be requested, in which case the default is 500 replications, sampling the maximum amount from each score distribution (see se.boot).

References

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

See Also

equate.ln, equate.eq, synthetic, freqbump, freqavg, loglinear, se.ln, se.eq, se.boot

Examples

Run this code
# random groups equating for (1) mean, (2) linear, 
# (3) equipercentile, and (4) equipercentile with 
# loglinear smoothing:
rscale <- ACTmath[,1]
rx <- freqtab(ACTmath[,2],rscale,addclass=TRUE)
ry <- freqtab(ACTmath[,3],rscale,addclass=TRUE)
set.seed(2007)

req1 <- equate(rx,ry,type="m",bootse=TRUE,reps=100)
req2 <- equate(rx,ry,type="l",bootse=TRUE,reps=100)
req3 <- equate(rx,ry,type="e",bootse=TRUE,reps=100)
req4 <- equate(rx,ry,type="e",bootse=TRUE,reps=100,
  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$see,equip=req3$see,equipS=req4$see)


# nonequivalent groups design for (1) Tucker linear, and
# (2-3) frequency estimation with weights of 0 and 1
nscale <- 0:36
vscale <- 0:12
nx <- freqtab(KBneat$x[,1],nscale,KBneat$x[,2],vscale)
ny <- freqtab(KBneat$y[,1],nscale,KBneat$y[,2],vscale)

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="equip",method="freq",w=0)

# compare equated scores:
cbind(nscale,Tucker=neq1$conc[,2],FEw1=neq2$conc[,2],
  FEw0=neq3$conc[,2])

Run the code above in your browser using DataLab