| Title: | Multiple Administrations Adaptive Testing |
|---|---|
| Description: | Provides an extension of the shadow-test approach to computerized adaptive testing (CAT) implemented in the 'TestDesign' package for the assessment framework involving multiple tests administered periodically throughout the year. This framework is referred to as the Multiple Administrations Adaptive Testing (MAAT) and supports multiple item pools vertically scaled and multiple phases (stages) of CAT within each test. Between phases and tests, transitioning from one item pool (and associated constraints) to another is allowed as deemed necessary to enhance the quality of measurement. |
| Authors: | Seung W. Choi [aut, cre] (ORCID: <https://orcid.org/0000-0003-4777-5420>), Sangdon Lim [aut] (ORCID: <https://orcid.org/0000-0002-2988-014X>), Luping Niu [aut] (ORCID: <https://orcid.org/0000-0003-3696-1180>), Sooyong Lee [aut] (ORCID: <https://orcid.org/0000-0002-7964-4508>), M. Christina Schneider [ctb], Jay Lee [ctb], Garron Gianopulos [ctb] |
| Maintainer: | Seung W. Choi <[email protected]> |
| License: | GPL (>= 2) |
| Version: | 1.1.1 |
| Built: | 2026-05-12 07:13:32 UTC |
| Source: | https://github.com/choi-phd/maat |
assessment_structure is an S4 class to represent an assessment structure.
n_testa numeric, the number of test administrations.
n_phasea numeric, the number of phases within each test.
route_limit_belowthe number of grades to allow routing below, relative to the grade of record. If the grade of record is G4 and this is 1, then routing to G3 is allowed but not to G2.
route_limit_abovethe number of grades to allow routing above, relative to the grade of record. If the grade of record is G4 and this is 2, then routing to G6 is allowed but not to G7.
test_routing_restrictionsR1: If grade is G-1 in the last phase of any administration, ignore achievement level and always change grade by +1. R2: If grade is G in the last phase of any administration: If achievement level is Beginning, do not decrease grade. R3: If grade is G+k in the last phase of Administration k: If achievement level is Advanced, do not increase grade.
boundGrade is a function for keeping the grade within a specified range.
boundGrade checks the relative grade compared to the grade of record. If the current grade is outside the allowed bound, the grade that is within the bound in the same direction is returned.
boundGrade( current_grade, grade_of_record, route_limit_below, route_limit_above )boundGrade( current_grade, grade_of_record, route_limit_below, route_limit_above )
current_grade |
the current grade. This must be formatted as |
grade_of_record |
the grade of record. This must be formatted as |
route_limit_below |
the number of grades to allow routing below, relative to the grade of record. If the grade of record is G4 and this is 1, then routing to G3 is allowed but not to G2. |
route_limit_above |
the number of grades to allow routing above, relative to the grade of record. If the grade of record is G4 and this is 2, then routing to G6 is allowed but not to G7. |
the grade after the range limit is applied
boundGrade("G2", "G1", 0, 2) # G2 boundGrade("G3", "G1", 0, 2) # G3 boundGrade("G4", "G1", 0, 2) # G3 boundGrade("G5", "G1", 0, 2) # G3boundGrade("G2", "G1", 0, 2) # G2 boundGrade("G3", "G1", 0, 2) # G3 boundGrade("G4", "G1", 0, 2) # G3 boundGrade("G5", "G1", 0, 2) # G3
changeGrade is an operator for grade values.
changeGrade(grade, delta)changeGrade(grade, delta)
grade |
a string containing the current grade in the form |
delta |
a number containing the relative change in grade to apply. |
a string containing the new grade.
changeGrade("G4", 0) ## G4 changeGrade("G4", 1) ## G5 changeGrade("G4", -1) ## G3 changeGrade("G10", 1) ## G11changeGrade("G4", 0) ## G4 changeGrade("G4", 1) ## G5 changeGrade("G4", -1) ## G3 changeGrade("G10", 1) ## G11
changePhase is an operator for phase values.
changePhase(phase, assessment_structure)changePhase(phase, assessment_structure)
phase |
a string containing the current phase in the format |
assessment_structure |
an |
a string containing the new phase.
## assessment uses two phases changePhase("P1", assessment_structure_math) ## P2 changePhase("P2", assessment_structure_math) ## P1## assessment uses two phases changePhase("P1", assessment_structure_math) ## P2 changePhase("P2", assessment_structure_math) ## P1
changeTest is an operator for test values.
changeTest(test, phase, assessment_structure)changeTest(test, phase, assessment_structure)
test |
a string containing the current test in the format |
phase |
a string containing the current phase in the format |
assessment_structure |
an |
a string containing the new test.
## assessment uses two phases changeTest("T1", "P1", assessment_structure_math) ## T1 changeTest("T1", "P2", assessment_structure_math) ## T2## assessment uses two phases changeTest("T1", "P1", assessment_structure_math) ## T1 changeTest("T1", "P2", assessment_structure_math) ## T2
createAssessmentStructure is a function for creating an
assessment_structure object that defines the structure of the assessment.
createAssessmentStructure( n_test, n_phase, route_limit_below, route_limit_above, test_routing_restrictions = c("R1", "R2", "R3") )createAssessmentStructure( n_test, n_phase, route_limit_below, route_limit_above, test_routing_restrictions = c("R1", "R2", "R3") )
n_test |
a numeric, the number of test administrations. |
n_phase |
a numeric, the number of phases within each test. |
route_limit_below |
the number of grades to allow routing below, relative to the grade of record. If the grade of record is G4 and this is 1, then routing to G3 is allowed but not to G2. |
route_limit_above |
the number of grades to allow routing above, relative to the grade of record. If the grade of record is G4 and this is 2, then routing to G6 is allowed but not to G7. |
test_routing_restrictions |
the restrictions for between-test routing. (default = |
an assessment_structure object.
assessment_structure <- createAssessmentStructure( n_test = 3, n_phase = 2, route_limit_below = 1, route_limit_above = 2 )assessment_structure <- createAssessmentStructure( n_test = 3, n_phase = 2, route_limit_below = 1, route_limit_above = 2 )
createModule is a function for creating a module object
based on the item pool, attribute, and constraints.
createModule(constraints, item_pool, item_attrib, passage_attrib)createModule(constraints, item_pool, item_attrib, passage_attrib)
constraints |
constraints data. A |
item_pool |
item pool data. A |
item_attrib |
item attribute data. A |
passage_attrib |
passage attribute data. A |
a module object.
examinee is an S4 class to represent a single examinee.
examinee_idthe ID of examinee.
current_gradethe current grade the examinee is in. Updated using updateGrade.
current_phasethe current phase the examinee is in. Updated using updatePhase.
current_testthe current test the examinee is in. Updated using updateTest.
current_modulethe current module the examinee is in. Updated using updateModule.
grade_loggrades that the examinee belonged at each module position. Updated using updateLog.
phase_logphases that the examinee belonged at each module position. Updated using updateLog.
test_logtests that the examinee belonged at each module position. Updated using updateLog.
module_logmodules that the examinee belonged at each module position. Updated using updateLog.
n_modulethe number of modules the examinee received. This is the number of module positions.
true_thetaa vector containing the true theta (if simulated) of the examinee, for each module position.
initial_theta_in_modulea vector containing initial thetas used in each module.
prior_par_by_modulea list containing prior parameters used for each module.
estimated_theta_by_phasea list containing estimated thetas and SEs using items in each phase.
estimated_theta_by_testa list containing estimated thetas and SEs using combined items in each test. Updated using updateThetaUsingCombined.
estimated_theta_for_routinga list containing estimated thetas and SEs that were used for routing. Updated using updateThetaForRouting.
estimated_thetaa list containing estimated theta and SE using all responses from all modules. Updated using updateAssessmentLevelTheta.
alphathe alpha value used to compute lower and upper bounds.
selection_thetaa list containing selection thetas in each module position.
interim_thetaa list containing interim thetas and SEs in each module position.
administered_itemsa list containing administered items in each module position.
administered_stimulia list containing administered stimuli in each module position.
responsea list containing the examinee response in each module position.
item_dataa list containing item_pool of administered items.
routing_based_ona vector containing the routing was based on estimated_theta_by_phase or estimated_theta_by_test at each module position.
The function excludeAdministeredItems produces a new constraints object
that excludes administered items from being selected.
excludeAdministeredItems(constraints, administered_items)excludeAdministeredItems(constraints, administered_items)
constraints |
a |
administered_items |
item names of previously administered items. |
a constraints object that also constrains the administered items to be excluded.
## Not run: require(TestDesign) cfg <- createShadowTestConfig( MIP = list(solver = "lpsymphony") ) constraints <- constraints_reading solution <- Shadow(cfg, constraints, true_theta = 0) administered_items <- solution@output[[1]]@administered_item_index administered_items <- solution@constraints@pool@id[administered_items] administered_items updated_constraints <- excludeAdministeredItems(constraints, administered_items) solution <- Shadow(cfg, updated_constraints, true_theta = 0) administered_items <- solution@output[[1]]@administered_item_index administered_items <- solution@constraints@pool@id[administered_items] administered_items ## entirely different from above ## End(Not run)## Not run: require(TestDesign) cfg <- createShadowTestConfig( MIP = list(solver = "lpsymphony") ) constraints <- constraints_reading solution <- Shadow(cfg, constraints, true_theta = 0) administered_items <- solution@output[[1]]@administered_item_index administered_items <- solution@constraints@pool@id[administered_items] administered_items updated_constraints <- excludeAdministeredItems(constraints, administered_items) solution <- Shadow(cfg, updated_constraints, true_theta = 0) administered_items <- solution@output[[1]]@administered_item_index administered_items <- solution@constraints@pool@id[administered_items] administered_items ## entirely different from above ## End(Not run)
formatOutput is a function for formatting the output examinee object
of the function maat for analysis.
formatOutput(examinee_list, digits = 3)formatOutput(examinee_list, digits = 3)
examinee_list |
the output from |
digits |
digits to round theta values. (default = 3) |
a data frame containing:
p_ID: the person ID.
test_phase_ID: the module position. If we have 3 tests with 2 phases in each test then the range of test_phase_ID is 1 to 6.
initial_grade: the initial grade of the person.
final_grade: the final grade of the person after completing all modules.
grade_ID: the grade at the module position.
phase_ID: the phase at the module position.
test_ID: the test at the module position.
module_ID: the module ID at the module position.
final_theta_est: the grand final estimated after completing all tests.
final_SE_est: the standard error of grand final estimated after completing all tests.
theta_by_phase: the final estimated after completing each phase.
SE_by_phase: the standard error of final estimated after completing each phase.
combined: whether items were combined with the previous phase to obtain the theta estimate.
true_theta: the true in each module position.
item_ID: the item IDs of administered items.
ncat: the number of categories of administered items.
IRT_model: the IRT models of administered items.
item_par_1: the first item parameter of each administered item (e.g., for 1PL, this is item difficulty)
item_par_2: the second item parameter of each administered item (e.g., for 1PL, this is 'NA')
item_resp: the item response on each administered item.
momentary_theta: the momentary (interim) estimate obtained after each item administration in CAT engine.
momentary_SE: the standard error of momentary (interim) estimate obtained after each item administration in CAT engine.
getAdaptivityIndex is a function for calculating adaptivity indices from the output of maat.
getAdaptivityIndex(x)getAdaptivityIndex(x)
x |
an |
a data frame containing adaptivity indices by test and also for all tests combined.
getAdministeredItemsPerTest is a function for extracting the administered items stored in the
examinee objects.
getAdministeredItemsPerTest(x)getAdministeredItemsPerTest(x)
x |
an |
a list containing administered items in each test and also for all tests combined.
getBias is a function for calculating the bias of ability estimates of the simulation results.
getBias(x)getBias(x)
x |
an |
a list containing bias by test and also for all tests combined.
getItemExposureRate is a function for building an item exposure rate table.
getItemExposureRate(x)getItemExposureRate(x)
x |
an |
the table of item exposure rate.
getItemNamesPerGrade is a function for extracting item names from a module list.
getItemNamesPerGrade(module_list)getItemNamesPerGrade(module_list)
module_list |
a module list from |
item names per grade.
getItemNamesPerGrade(module_list_math)getItemNamesPerGrade(module_list_math)
getRelativeGrade is an operator for grade values.
getRelativeGrade(current_grade, initial_grade)getRelativeGrade(current_grade, initial_grade)
current_grade |
a string containing the current grade in the form |
initial_grade |
a string containing the initial grade in the form |
the grade difference of the current grade relative to the initial grade.
getRelativeGrade("G4", "G3") ## 1 getRelativeGrade("G5", "G3") ## 2 getRelativeGrade("G2", "G3") ## -1getRelativeGrade("G4", "G3") ## 1 getRelativeGrade("G5", "G3") ## 2 getRelativeGrade("G2", "G3") ## -1
getRMSE is a function for calculating root mean square error (RMSE)
for the simulation results.
getRMSE(x)getRMSE(x)
x |
an |
a list containing RMSE by test and also for all tests combined.
getSE is a function for calculating the standard error of the estimates.
getSE(x)getSE(x)
x |
an |
a list containing SE by test and also for all tests combined.
loadModules is a function for creating multiple module objects
from a specification sheet.
loadModules(fn, base_path = NULL, assessment_structure, examinee_list)loadModules(fn, base_path = NULL, assessment_structure, examinee_list)
fn |
the full file path and name of a csv file containing module specifications. |
base_path |
(optional) the base path to be prepended to the file paths contained in the module specifications sheet. |
assessment_structure |
an |
examinee_list |
an examinee list from |
The module specification file is expected to have the following columns:
Grade a string containing the grade in the form G?, where ? is a number.
Phase a string containing the phase in the form P?, where ? is a number.
ItemPool the file path of a file that contains item pool data. This must be readable with loadItemPool.
ItemAttrib the file path of a file that contains item attribute data. This must be readable with loadItemAttrib.
PassageAttrib the file path of a file that contains passage attribute data. This must be readable with loadStAttrib.
Constraints the file path of a file that contains constraints data. This must be readable with loadConstraints.
a module list containing module objects.
Each module can be accessed using module_list[[grade]][[test]][[phase]].
assessment_structure <- createAssessmentStructure( n_test = 3, n_phase = 2, route_limit_below = 0, route_limit_above = 2 ) examinee_list <- simExaminees( N = 5, mean_v = c(0, 0, 0), sd_v = c(1, 1, 1), cor_v = diag(1, 3), assessment_structure = assessment_structure ) fn <- system.file("extdata", "module_definition_MATH_normal_N500_flexible.csv", package = "maat") pkg_path <- system.file(package = "maat") module_list <- loadModules( fn, base_path = pkg_path, assessment_structure = assessment_structure, examinee_list = examinee_list )assessment_structure <- createAssessmentStructure( n_test = 3, n_phase = 2, route_limit_below = 0, route_limit_above = 2 ) examinee_list <- simExaminees( N = 5, mean_v = c(0, 0, 0), sd_v = c(1, 1, 1), cor_v = diag(1, 3), assessment_structure = assessment_structure ) fn <- system.file("extdata", "module_definition_MATH_normal_N500_flexible.csv", package = "maat") pkg_path <- system.file(package = "maat") module_list <- loadModules( fn, base_path = pkg_path, assessment_structure = assessment_structure, examinee_list = examinee_list )
maat is the main function for simulating a multi-stage multi-administration adaptive test.
maat( examinee_list = examinee_list, assessment_structure = NULL, module_list = NULL, config = NULL, cut_scores = NULL, overlap_control_policy = NULL, transition_policy = "CI", combine_policy = "conditional", transition_CI_alpha = NULL, transition_percentile_lower = NULL, transition_percentile_upper = NULL, initial_theta_list = NULL, prior_mean_policy = "mean_difficulty", prior_mean_user = NULL, prior_sd = 1, verbose = TRUE )maat( examinee_list = examinee_list, assessment_structure = NULL, module_list = NULL, config = NULL, cut_scores = NULL, overlap_control_policy = NULL, transition_policy = "CI", combine_policy = "conditional", transition_CI_alpha = NULL, transition_percentile_lower = NULL, transition_percentile_upper = NULL, initial_theta_list = NULL, prior_mean_policy = "mean_difficulty", prior_mean_user = NULL, prior_sd = 1, verbose = TRUE )
examinee_list |
an examinee list from |
assessment_structure |
a |
module_list |
a module list from |
config |
a |
cut_scores |
a named list containing cut scores to be used in each grade. Each element must be named in the form |
overlap_control_policy |
overlap control is performed by excluding administered items from being administered again within the same examinee.
|
transition_policy |
|
combine_policy |
|
transition_CI_alpha |
the alpha level to use when |
transition_percentile_lower |
the percentile value (between 0 and 1) to use for the lower routing when |
transition_percentile_upper |
the percentile value (between 0 and 1) to use for the upper routing when |
initial_theta_list |
(optional) a list containing initial thetas to use in each module position. |
prior_mean_policy |
|
prior_mean_user |
(optional) user-supplied values for the prior mean. Must be a single value, or a vector for each grade. |
prior_sd |
user-supplied values for the prior standard deviation. This is only effective at the beginning of each test. This is utilized regardless of |
verbose |
if |
an output_maat object from the simulation.
library(TestDesign) # >= 1.3.3 config <- createShadowTestConfig( final_theta = list(method = "MLE"), exclude_policy = list(method = "SOFT", M = 100) ) # exclude_policy must be SOFT examinee_list <- maat( examinee_list = examinee_list_math, assessment_structure = assessment_structure_math, module_list = module_list_math, overlap_control_policy = "all", transition_CI_alpha = 0.05, config = config, cut_scores = cut_scores_math )library(TestDesign) # >= 1.3.3 config <- createShadowTestConfig( final_theta = list(method = "MLE"), exclude_policy = list(method = "SOFT", M = 100) ) # exclude_policy must be SOFT examinee_list <- maat( examinee_list = examinee_list_math, assessment_structure = assessment_structure_math, module_list = module_list_math, overlap_control_policy = "all", transition_CI_alpha = 0.05, config = config, cut_scores = cut_scores_math )
Example data for a 6-module assessment.
assessment_structure_math an assessment_structure object defining 3 tests with 2 phases in each test. Also defines routing limits as G - 1 and G + 2, where G is the starting grade.
examinee_list_math a list of examinee objects. The number of examinees is 10. This can be created using simExaminees.
module_list_math a list of module objects. This can be created using loadModules.
cut_scores_math a list of theta cut scores. This is used in the cut_scores argument of the maat function.
module is an S4 class to represent a module.
module_idthe ID of the module.
constraintsa constraints object.
output_maat is an S4 class to represent a simulation output.
examinee_lista list of examinee objects.
assessment_structurean assessment_structure object.
module_lista module list from loadModules.
configthe list of config_Shadow objects used in the simulation for each module.
cut_scoresthe cut scores used in the simulation.
overlap_control_policythe policy used in the simulation.
transition_policythe policy used in the simulation.
combine_policythe policy used in the simulation.
transition_CI_alphathe transition parameter used in the simulation.
transition_percentile_lowerthe transition parameter used in the simulation.
transition_percentile_upperthe transition parameter used in the simulation.
initial_theta_listthe starting theta values used in the simulation.
prior_mean_policythe policy used in the simulation.
prior_mean_userthe prior parameters used in the simulation.
prior_sdthe prior parameters used in the simulation.
Extension of plot()
## S4 method for signature 'output_maat' plot( x, y, type, examinee_id = 1, cut_scores = NULL, theta_range = c(-4, 4), main = NULL, box_color = "PaleTurquoise" )## S4 method for signature 'output_maat' plot( x, y, type, examinee_id = 1, cut_scores = NULL, theta_range = c(-4, 4), main = NULL, box_color = "PaleTurquoise" )
x |
x |
y |
y |
type |
the type of plot. |
examinee_id |
the examinee ID to plot. |
cut_scores |
(optional) a named list containing cut scores for each grade. |
theta_range |
the theta range to use in scatter plots when |
main |
the figure title to use in scatter plots when |
box_color |
the cell color to use when |
the route plot.
library(TestDesign) config <- createShadowTestConfig( final_theta = list(method = "MLE"), exclude_policy = list(method = "SOFT", M = 100) ) examinee_list <- maat( examinee_list = examinee_list_math, assessment_structure = assessment_structure_math, module_list = module_list_math, overlap_control_policy = "all", transition_CI_alpha = 0.05, config = config, cut_scores = cut_scores_math ) plot(examinee_list, type = "route") plot(examinee_list, type = "correlation") plot(examinee_list, type = "audit", examinee_id = 1)library(TestDesign) config <- createShadowTestConfig( final_theta = list(method = "MLE"), exclude_policy = list(method = "SOFT", M = 100) ) examinee_list <- maat( examinee_list = examinee_list_math, assessment_structure = assessment_structure_math, module_list = module_list_math, overlap_control_policy = "all", transition_CI_alpha = 0.05, config = config, cut_scores = cut_scores_math ) plot(examinee_list, type = "route") plot(examinee_list, type = "correlation") plot(examinee_list, type = "audit", examinee_id = 1)
Extension of print()
## S4 method for signature 'module' print(x)## S4 method for signature 'module' print(x)
x |
an object to display the content. |
removeItemData is a function to remove the item data from
the examinee objects for the reduction of file size.
removeItemData(examinee_list)removeItemData(examinee_list)
examinee_list |
a list containing |
a list containing examinee objects,
with item_data data stripped for compact storage.
Extension of show()
## S4 method for signature 'module' show(object)## S4 method for signature 'module' show(object)
object |
an object to display the content. |
simExaminees is a function for generating a list of examinee objects.
simExaminees( N, mean_v, sd_v, cor_v, assessment_structure, initial_grade = "G4", initial_test = "T1", initial_phase = "P1" )simExaminees( N, mean_v, sd_v, cor_v, assessment_structure, initial_grade = "G4", initial_test = "T1", initial_phase = "P1" )
N |
the number of examinees. |
mean_v |
a vector containing the mean of each dimension. |
sd_v |
a vector containing the standard deviation of each dimension. |
cor_v |
a correlation matrix. |
assessment_structure |
an |
initial_grade |
the initial grade for all examinees. The grade must exist in |
initial_test |
the initial test for all examinees. (default = |
initial_phase |
the initial phase for all examinees. The phase must exist in |
Each dimension of mean_v, sd_v, cor_v represents a test level. For example in a three-test structure (see the assessment_structure_math example data), these arguments must have three dimensions.
a list of examinee objects.
assessment_structure <- createAssessmentStructure( n_test = 3, n_phase = 2, route_limit_below = 1, route_limit_above = 2 ) examinee_list <- simExaminees( N = 100, mean_v = c(0, 0, 0), sd_v = c(1, 1, 1), cor_v = diag(1, 3), assessment_structure = assessment_structure )assessment_structure <- createAssessmentStructure( n_test = 3, n_phase = 2, route_limit_below = 1, route_limit_above = 2 ) examinee_list <- simExaminees( N = 100, mean_v = c(0, 0, 0), sd_v = c(1, 1, 1), cor_v = diag(1, 3), assessment_structure = assessment_structure )
simTheta is a function for generating a theta matrix based on the given
sample size, mean, standard deviation, and correlation matrix.
simTheta(N, mean_v, sd_v, cor_v)simTheta(N, mean_v, sd_v, cor_v)
N |
the number of examinees. |
mean_v |
a vector containing the mean of each dimension. |
sd_v |
a vector containing the standard deviation of each dimension. |
cor_v |
a correlation matrix. |
simTheta calls mvrnorm internally.
a theta matrix.
o <- simTheta( N = 100, mean_v = c(0, 0, 0), sd_v = c(1, 1, 1), cor_v = diag(1, 3) )o <- simTheta( N = 100, mean_v = c(0, 0, 0), sd_v = c(1, 1, 1), cor_v = diag(1, 3) )
updateAssessmentLevelTheta is a function for updating examinee objects after completing all modules.
updateAssessmentLevelTheta computes the assessment-level theta. Estimation options are based on the final_theta slot of the config object.
updateAssessmentLevelTheta(examinee_object, config)updateAssessmentLevelTheta(examinee_object, config)
examinee_object |
an |
config |
a |
an examinee object with its estimated_theta slot updated.
updateGrade is a function for determining the grade an examinee is routed to.
updateGrade( examinee_object, assessment_structure, module_position, cut_scores, transition_policy = "CI", transition_CI_alpha, transition_percentile_lower, transition_percentile_upper, item_pool )updateGrade( examinee_object, assessment_structure, module_position, cut_scores, transition_policy = "CI", transition_CI_alpha, transition_percentile_lower, transition_percentile_upper, item_pool )
examinee_object |
an |
assessment_structure |
an |
module_position |
the current module position, ranging from |
cut_scores |
a named list containing cut scores to be used in each grade. Each element must be named in the form |
transition_policy |
|
transition_CI_alpha |
the alpha level used when |
transition_percentile_lower |
the percentile value (between 0 and 1) used for the lower routing in percentile-based transition policies. |
transition_percentile_upper |
the percentile value (between 0 and 1) used for the upper routing in percentile-based transition policies. |
item_pool |
the |
Currently the routing rules are hard-coded in the function. See the vignette for a description of routing rules.
an examinee object with its current_grade slot updated.
updateItemData is a function for updating examinee objects after completing a module.
updateItemData(examinee_object, module_position, solution)updateItemData(examinee_object, module_position, solution)
examinee_object |
an |
module_position |
the current module position. |
solution |
an |
updateItemData updates the item_data slot with an item_pool object
that contains administered items in the module.
an examinee object with its item_data slot updated.
updateLog is a function for updating examinee objects after completing a module.
updateLog updates logs with grades, phases, tests and modules.
updateLog(examinee_object, current_module_position)updateLog(examinee_object, current_module_position)
examinee_object |
an |
current_module_position |
the current module position. |
an examinee object with its grade_log, phase_log, test_log, and module_log slots updated.
updateModule is a function for updating examinee objects after completing a module.
updateModule assigns an module object from the supplied list to match the grade and the phase the examinee is in.
updateModule(examinee_object, module_list)updateModule(examinee_object, module_list)
examinee_object |
an |
module_list |
a module list from |
an examinee object with its current_module slot updated.
updatePhase is a function for updating examinee objects after completing a module.
updatePhase updates the phase by calling changePhase.
updatePhase(examinee_object, assessment_structure)updatePhase(examinee_object, assessment_structure)
examinee_object |
an |
assessment_structure |
an |
an examinee object with its current_phase slot updated.
## assessment uses two phases examinee <- examinee_list_math[[1]] examinee@current_phase ## P1 examinee <- updatePhase(examinee, assessment_structure_math) examinee@current_phase ## P2 examinee <- updatePhase(examinee, assessment_structure_math) examinee@current_phase ## P1## assessment uses two phases examinee <- examinee_list_math[[1]] examinee@current_phase ## P1 examinee <- updatePhase(examinee, assessment_structure_math) examinee@current_phase ## P2 examinee <- updatePhase(examinee, assessment_structure_math) examinee@current_phase ## P1
updateTest is the function for updating the new test ID in
an examinee object.
updateTest(examinee_object, assessment_structure)updateTest(examinee_object, assessment_structure)
examinee_object |
an |
assessment_structure |
an |
an examinee object with its current_test slot updated.
## assessment uses two phases examinee <- examinee_list_math[[1]] examinee@current_test ## T1 examinee@current_phase ## P1 examinee <- updateTest(examinee, assessment_structure_math) examinee <- updatePhase(examinee, assessment_structure_math) examinee@current_test ## T1 examinee@current_phase ## P2 examinee <- updateTest(examinee, assessment_structure_math) examinee <- updatePhase(examinee, assessment_structure_math) examinee@current_test ## T2 examinee@current_phase ## P1## assessment uses two phases examinee <- examinee_list_math[[1]] examinee@current_test ## T1 examinee@current_phase ## P1 examinee <- updateTest(examinee, assessment_structure_math) examinee <- updatePhase(examinee, assessment_structure_math) examinee@current_test ## T1 examinee@current_phase ## P2 examinee <- updateTest(examinee, assessment_structure_math) examinee <- updatePhase(examinee, assessment_structure_math) examinee@current_test ## T2 examinee@current_phase ## P1
updateThetaForRouting is a function for updating examinee objects after completing a module.
updateThetaForRouting determines what type of theta estimate is used to perform routing.
updateThetaForRouting(examinee_object, current_module_position, combine_policy)updateThetaForRouting(examinee_object, current_module_position, combine_policy)
examinee_object |
an |
current_module_position |
the current module position. |
combine_policy |
|
an examinee object with its estimated_theta_for_routing slot updated.
updateThetaUsingCombined is a function for updating examinee objects after completing a module.
updateThetaUsingCombined adds final theta estimates using all administered items in the test. A test may consist of multiple phases.
updateThetaUsingCombined(examinee_object, current_module_position, config)updateThetaUsingCombined(examinee_object, current_module_position, config)
examinee_object |
an |
current_module_position |
the current module position. |
config |
a |
an examinee object with its estimated_theta_by_test slot updated.