equate_stuirt {irt} | R Documentation |
IRT Scale Transformation using STUIRT Program
Description
This function serves as an interface for the STUIRT program (Kim & Kolen, 2004) which offers a range of equating methods including mean-mean, mean-sigma, Haebara, and Stocking-Lord. It is essential to have the STUIRT program installed on your computer for this function to work. You can download the program from the University of Iowa's Center for Advanced Studies in Measurement and Assessment (CASMA) webpage: https://education.uiowa.edu/casma/computer-programs
Usage
equate_stuirt(
new_ip,
ref_ip,
method = c("stocking-lord", "haebara", "mean-mean", "mean-sigma"),
common_item_ids = NULL,
stuirt_exe_path = "C:/STUIRT/STUIRT.exe",
target_dir = getwd(),
analysis_name = "stuirt_analysis",
add_options = TRUE,
starting_values = c(1, 0),
number_of_iterations = NULL,
new_dist = NULL,
ref_dist = NULL,
fs = c("DO", "DO"),
sy = c("BI", "BI"),
lm = NULL,
ko = "SL",
show_output_on_console = TRUE
)
Arguments
new_ip |
An |
ref_ip |
An |
method |
A string specifying the method to use for equating the new item
parameters |
common_item_ids |
The item IDs of the common items. The default is
|
stuirt_exe_path |
The path for the STUIRT executable "STUIRT.exe".
Example: |
target_dir |
The directory/folder where the STUIRT analysis will be
saved. The default value is the current working directory, i.e.
|
analysis_name |
A short file name for the data files created for the analysis. |
add_options |
A logical value. If |
starting_values |
A numeric vector of length two providing starting
values for the slope and intercept of the linear transformation in the
Haebara and Stocking-Lord methods. The default values are |
number_of_iterations |
An integer indicating the maximum number of
iterations to obtain transformation constants that minimize criterion
functions for the Haebara and Stocking-Lord methods. The default value is
|
new_dist |
A list specifying proficiency distribution of new group's distribution. The list should have three named elements:
The default is Here are some examples for different distributions:
|
ref_dist |
A list representing the proficiency distribution of the reference group. Refer to the description of the 'new_dist' argument for more details. |
fs |
A two-element string vector. Each element should be
one of the following values: From the STUIRT manual: "The option keyword FS is used for standardizing the criterion functions for the Haebara and Stocking-Lord methods. The two subkeywords, DO and NO, are used to specify options. The first DO or NO is for the Haebara method and the second DO or NO is for the Stocking- Lord method. DO means that standardization is done and NO means that no standardization is done. What is meant by standardization of the criterion function is that one divides a sum of squared differences between characteristic curves in the criterion function by the number of the squared differences or the sum of weights assigned to the differences. For example, usually, to standardize the criterion function for the Stocking-Lord method, one divides the sum of squared differences between test characteristic curves by the number of proficiency values (or examinees). For more detailed information, refer to Kim and Lee (2004). Theoretically, the standardization of the criterion functions should not affect the solutions of the Haebara and Stocking-Lord methods. However, in practice, it could affect the solutions since the minimization algorithm used for nonlinear problems is affected by the magnitude of the criterion function due to its stopping rules. By default, standardization is conducted for both the Haebara and Stocking-Lord criterion functions." (p.13) If the value is |
sy |
A two-element string vector. Both of the elements should be
one of the following values: From the STUIRT manual: "The option keyword SY is used to define criterion functions as non-symmetric or symmetric. Three subkeywords, BI, NO, and ON, are used to specify options. The first BI, NO, or ON is for the Haebara method and the second BI, NO, or ON is for the Stocking-Lord method. Theoretically, the criterion function for either of the Haebara and Stocking-Lord methods could be defined in three symmetry-related ways. The first is one in which the criterion function is defined only on the old scale as in the typical use of the Stocking-Lord method (new-to-old direction: NO). The second is one in which the criterion function is defined only on the new scale (old-to-new direction: ON). The third is one in which the criterion function is defined on the both old and new scales as in the use of the Haebara method (new-to-old and old-to-new, i.e., bi-directional: BI) Theoretically, the three ways, BI, NO, and ON, to define the criterion function in question should give the same solutions as far as sampling error and model misfit do not happen. However, with sample data, the three ways will give different solutions for scale transformation. The default setting is in such that SY BI BI." (p.14) If the value is |
lm |
A six element list with following elements: (1) slope, (2) intercept, (3) number-of-searches, (4) radius, (5) tolerance, and, (6) either "NO" or "IN". From the STUIRT manual: "The option keyword LM is used to search for possible local minimum solutions for the scale transformation constants after the first solutions for the Haebara and Stocking-Lord methods are obtained. Three subkeywords, NO, IN, and FI are prepared to instruct the program how and where to show the resulting history of local minimum search. If NO is used, no history is shown in an output file. If IN is used, the resulting history is shown within the main output file specified by users or opened by the program. If FI followed by a file name is used, the resulting history is saved separately in the file, which does not need to be located in the folder having the executable file of STUIRT." (p.14) If the value is |
ko |
A string that specify "input files for the program POLYEQUATE".
Available values are From the STUIRT manual: "The four subkeywords, MM, MS, HA, and SL stand for the mean/mean, mean/sigma, Haebara, and Stocking-Lord methods, respectively. " (p.15) If the value is |
show_output_on_console |
logical (not NA), indicates whether to capture
the output of the command and show it on the R console. The default value
is |
Author(s)
Emre Gonulates
References
Kim, S., & Kolen, M. J. (2004). STUIRT [Computer software]. Iowa City, IA: Iowa Testing Programs, The University of Iowa
Examples
## Not run:
# ---------- Mixed Models ------------ #
n_item <- 30
models <- sample(c("3PL", "GPCM2"), n_item, TRUE)
new_ip <- generate_ip(model = models, D = 1.702)
old_ip_df <- data.frame(new_ip)
old_ip_df$a <- old_ip_df$a + round(runif(n_item, min = -.2, max = .2), 2)
old_ip_df$b <- old_ip_df$b + round(runif(n_item, min = -.2, max = .2), 2)
old_ip_df$d1 <- old_ip_df$d1 + round(runif(n_item, min = -.2, max = .2), 2)
old_ip_df$d2 <- old_ip_df$d2 + round(runif(n_item, min = -.2, max = .2), 2)
old_ip_df$d3 <- old_ip_df$d3 + round(runif(n_item, min = -.2, max = .2), 2)
ref_ip <- itempool(old_ip_df)
result <- equate_stuirt(new_ip = new_ip,
ref_ip = ref_ip,
target_dir = "C:/Temp/testthat-stuirt",
stuirt_exe_path = "C:/STUIRT/STUIRT.exe",
)
result
## End(Not run)