| Type: | Package |
| Title: | Multiple Administrations Adaptive Testing |
| Version: | 1.1.1 |
| Maintainer: | Seung W. Choi <schoi@austin.utexas.edu> |
| 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. |
| URL: | https://choi-phd.github.io/maat/ |
| BugReports: | https://github.com/choi-phd/maat/issues/ |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| Depends: | R (≥ 3.5.0) |
| Imports: | TestDesign (≥ 1.3.3), readxl, methods, MASS, diagram |
| Suggests: | testthat (≥ 3.0.0), rmarkdown, knitr, kableExtra |
| RoxygenNote: | 7.3.2 |
| VignetteBuilder: | knitr |
| Encoding: | UTF-8 |
| LazyData: | true |
| Collate: | 'import.R' 'module_class.R' 'module_functions.R' 'administered_functions.R' 'datasets.R' 'examinee_class.R' 'examinee_updaters.R' 'extensions.R' 'module_structure_operators.R' 'package.R' 'sim_functions.R' 'plot_functions.R' 'print_functions.R' 'prior_functions.R' 'routing_functions.R' 'show_functions.R' 'validators.r' |
| Config/testthat/edition: | 3 |
| NeedsCompilation: | no |
| Packaged: | 2025-08-18 12:36:32 UTC; chois1 |
| Author: | Seung W. Choi |
| Repository: | CRAN |
| Date/Publication: | 2025-08-18 13:20:01 UTC |
Multiple Administrations Adaptive Testing
Description
Package documentation for MAAT: Multiple Administrations Adaptive Testing.
Details
Multiple Administrations Adaptive Testing
maat package is based on the assessment framework involving multiple tests administered throughout the year using multiple item pools vertically scaled and multiple phases (stages) of computerized adaptive testing (CAT) within each test allowing for transitioning from one item pool (and associated constraints) to another between phases as determined necessary by a selected transition policy to enhance the quality of measurement.
The current version of maat supports three administrations (Fall, Winter, and Spring) with two phases within each administration (Phase 1 and Phase 2), for six modules in total administered over the course of a year.
Within each administration, students begin Phase 1 at the grade of record.
One exception to this is that if a student's final \theta from the
previous administration was above the 'advanced achievement' cut score of
the grade of record, then the student begins Phase 1 of the following
administration in an above-grade item pool. For example, if a Grade 3
student's final \theta from the Fall administration was
\theta = 1.1 and the 'advanced achievement' cut score for Grade 3 was
\theta = 1.0, then the student begins Phase 1 of the Winter
administration in a Grade 4 item pool.
Within each administration, at the completion of Phase 1, business rules are used to determine whether a student is routed to an on-grade or off-grade item pool in Phase 2.
Detailed descriptions of the assessment design are available in the vignette.
Author(s)
Maintainer: Seung W. Choi schoi@austin.utexas.edu (ORCID)
Authors:
Sangdon Lim sangdonlim@utexas.edu (ORCID)
Luping Niu lupingniu@utexas.edu (ORCID)
Sooyong Lee sooyongl09@utexas.edu (ORCID)
Other contributors:
M. Christina Schneider christina.schneider@nwea.org [contributor]
Jay Lee jay.lee@nwea.org [contributor]
Garron Gianopulos garron.gianopulos@nwea.org [contributor]
See Also
Useful links:
Class 'assessment_structure': assessment structure
Description
assessment_structure is an S4 class to represent an assessment structure.
Slots
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.
Bound grades within a specified range
Description
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.
Usage
boundGrade(
current_grade,
grade_of_record,
route_limit_below,
route_limit_above
)
Arguments
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. |
Value
the grade after the range limit is applied
Examples
boundGrade("G2", "G1", 0, 2) # G2
boundGrade("G3", "G1", 0, 2) # G3
boundGrade("G4", "G1", 0, 2) # G3
boundGrade("G5", "G1", 0, 2) # G3
Grade operator: add or subtract
Description
changeGrade is an operator for grade values.
Usage
changeGrade(grade, delta)
Arguments
grade |
a string containing the current grade in the form |
delta |
a number containing the relative change in grade to apply. |
Value
a string containing the new grade.
Examples
changeGrade("G4", 0) ## G4
changeGrade("G4", 1) ## G5
changeGrade("G4", -1) ## G3
changeGrade("G10", 1) ## G11
Phase operator: move to next phase
Description
changePhase is an operator for phase values.
Usage
changePhase(phase, assessment_structure)
Arguments
phase |
a string containing the current phase in the format |
assessment_structure |
an |
Value
a string containing the new phase.
Examples
## assessment uses two phases
changePhase("P1", assessment_structure_math) ## P2
changePhase("P2", assessment_structure_math) ## P1
Test operator: move to next phase
Description
changeTest is an operator for test values.
Usage
changeTest(test, phase, assessment_structure)
Arguments
test |
a string containing the current test in the format |
phase |
a string containing the current phase in the format |
assessment_structure |
an |
Value
a string containing the new test.
Examples
## assessment uses two phases
changeTest("T1", "P1", assessment_structure_math) ## T1
changeTest("T1", "P2", assessment_structure_math) ## T2
Create an assessment structure
Description
createAssessmentStructure is a function for creating an
assessment_structure object that defines the structure of the assessment.
Usage
createAssessmentStructure(
n_test,
n_phase,
route_limit_below,
route_limit_above,
test_routing_restrictions = c("R1", "R2", "R3")
)
Arguments
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 = |
Value
an assessment_structure object.
Examples
assessment_structure <- createAssessmentStructure(
n_test = 3,
n_phase = 2,
route_limit_below = 1,
route_limit_above = 2
)
Create a single module
Description
createModule is a function for creating a module object
based on the item pool, attribute, and constraints.
Usage
createModule(constraints, item_pool, item_attrib, passage_attrib)
Arguments
constraints |
constraints data. A |
item_pool |
item pool data. A |
item_attrib |
item attribute data. A |
passage_attrib |
passage attribute data. A |
Value
a module object.
Class 'examinee': a single examinee
Description
examinee is an S4 class to represent a single examinee.
Slots
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_poolof administered items.routing_based_ona vector containing the routing was based on
estimated_theta_by_phaseorestimated_theta_by_testat each module position.
Update a constraints object to exclude administered items
Description
The function excludeAdministeredItems produces a new constraints object
that excludes administered items from being selected.
Usage
excludeAdministeredItems(constraints, administered_items)
Arguments
constraints |
a |
administered_items |
item names of previously administered items. |
Value
a constraints object that also constrains the administered items to be excluded.
Examples
## 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)
Format the output of maat
Description
formatOutput is a function for formatting the output examinee object
of the function maat for analysis.
Usage
formatOutput(examinee_list, digits = 3)
Arguments
examinee_list |
the output from |
digits |
digits to round theta values. (default = 3) |
Value
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\thetaafter completing all tests.final_SE_est: the standard error of grand final estimated\thetaafter completing all tests.theta_by_phase: the final estimated\thetaafter completing each phase.SE_by_phase: the standard error of final estimated\thetaafter completing each phase.combined: whether items were combined with the previous phase to obtain the theta estimate.true_theta: the true\thetain 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)\thetaestimate obtained after each item administration in CAT engine.momentary_SE: the standard error of momentary (interim)\thetaestimate obtained after each item administration in CAT engine.
Calculate adaptivity indices from an examinee list object
Description
getAdaptivityIndex is a function for calculating adaptivity indices from the output of maat.
Usage
getAdaptivityIndex(x)
Arguments
x |
an |
Value
a data frame containing adaptivity indices by test and also for all tests combined.
Get administered items per test
Description
getAdministeredItemsPerTest is a function for extracting the administered items stored in the
examinee objects.
Usage
getAdministeredItemsPerTest(x)
Arguments
x |
an |
Value
a list containing administered items in each test and also for all tests combined.
Calculate bias from an examinee list object
Description
getBias is a function for calculating the bias of ability estimates of the simulation results.
Usage
getBias(x)
Arguments
x |
an |
Value
a list containing bias by test and also for all tests combined.
Get item exposure rates from an examinee list
Description
getItemExposureRate is a function for building an item exposure rate table.
Usage
getItemExposureRate(x)
Arguments
x |
an |
Value
the table of item exposure rate.
Get item names per grade
Description
getItemNamesPerGrade is a function for extracting item names from a module list.
Usage
getItemNamesPerGrade(module_list)
Arguments
module_list |
a module list from |
Value
item names per grade.
Examples
getItemNamesPerGrade(module_list_math)
Calculate RMSE from an examinee list object
Description
getRMSE is a function for calculating root mean square error (RMSE)
for the simulation results.
Usage
getRMSE(x)
Arguments
x |
an |
Value
a list containing RMSE by test and also for all tests combined.
Grade operator: difference between two grades
Description
getRelativeGrade is an operator for grade values.
Usage
getRelativeGrade(current_grade, initial_grade)
Arguments
current_grade |
a string containing the current grade in the form |
initial_grade |
a string containing the initial grade in the form |
Value
the grade difference of the current grade relative to the initial grade.
Examples
getRelativeGrade("G4", "G3") ## 1
getRelativeGrade("G5", "G3") ## 2
getRelativeGrade("G2", "G3") ## -1
Calculate standard error from an examinee list object
Description
getSE is a function for calculating the standard error of the estimates.
Usage
getSE(x)
Arguments
x |
an |
Value
a list containing SE by test and also for all tests combined.
Load multiple modules
Description
loadModules is a function for creating multiple module objects
from a specification sheet.
Usage
loadModules(fn, base_path = NULL, assessment_structure, examinee_list)
Arguments
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 |
Details
The module specification file is expected to have the following columns:
Gradea string containing the grade in the formG?, where?is a number.Phasea string containing the phase in the formP?, where?is a number.ItemPoolthe file path of a file that contains item pool data. This must be readable withloadItemPool.ItemAttribthe file path of a file that contains item attribute data. This must be readable withloadItemAttrib.PassageAttribthe file path of a file that contains passage attribute data. This must be readable withloadStAttrib.Constraintsthe file path of a file that contains constraints data. This must be readable withloadConstraints.
Value
a module list containing module objects.
Each module can be accessed using module_list[[grade]][[test]][[phase]].
Examples
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
)
Simulate multi-stage multi-administration adaptive test
Description
maat is the main function for simulating a multi-stage multi-administration adaptive test.
Usage
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
)
Arguments
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 |
Value
an output_maat object from the simulation.
Examples
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
)
Class 'module': a module
Description
module is an S4 class to represent a module.
Slots
module_idthe ID of the module.
constraintsa
constraintsobject.
Example item pools
Description
Example data for a 6-module assessment.
Details
-
assessment_structure_mathanassessment_structureobject defining 3 tests with 2 phases in each test. Also defines routing limits asG - 1andG + 2, whereGis the starting grade. -
examinee_list_matha list ofexamineeobjects. The number of examinees is 10. This can be created usingsimExaminees. -
module_list_matha list ofmoduleobjects. This can be created usingloadModules. -
cut_scores_matha list of theta cut scores. This is used in thecut_scoresargument of themaatfunction.
Class 'output_maat': a simulation output
Description
output_maat is an S4 class to represent a simulation output.
Slots
examinee_lista list of
examineeobjects.assessment_structurean
assessment_structureobject.module_lista module list from
loadModules.configthe list of
config_Shadowobjects 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()
Description
Extension of plot()
Usage
## 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"
)
Arguments
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 |
Value
the route plot.
Examples
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()
Description
Extension of print()
Usage
## S4 method for signature 'module'
print(x)
Arguments
x |
an object to display the content. |
Remove item data from examinee list
Description
removeItemData is a function to remove the item data from
the examinee objects for the reduction of file size.
Usage
removeItemData(examinee_list)
Arguments
examinee_list |
a list containing |
Value
a list containing examinee objects,
with item_data data stripped for compact storage.
Extension of show()
Description
Extension of show()
Usage
## S4 method for signature 'module'
show(object)
Arguments
object |
an object to display the content. |
Simulate an examinee list
Description
simExaminees is a function for generating a list of examinee objects.
Usage
simExaminees(
N,
mean_v,
sd_v,
cor_v,
assessment_structure,
initial_grade = "G4",
initial_test = "T1",
initial_phase = "P1"
)
Arguments
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 |
Details
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.
Value
a list of examinee objects.
Examples
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
)
Simulate theta values
Description
simTheta is a function for generating a theta matrix based on the given
sample size, mean, standard deviation, and correlation matrix.
Usage
simTheta(N, mean_v, sd_v, cor_v)
Arguments
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. |
Details
simTheta calls mvrnorm internally.
Value
a theta matrix.
Examples
o <- simTheta(
N = 100,
mean_v = c(0, 0, 0),
sd_v = c(1, 1, 1),
cor_v = diag(1, 3)
)
Update the assessment-level theta of an examinee object
Description
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.
Usage
updateAssessmentLevelTheta(examinee_object, config)
Arguments
examinee_object |
an |
config |
a |
Value
an examinee object with its estimated_theta slot updated.
Update the grade slot of an examinee object
Description
updateGrade is a function for determining the grade an examinee is routed to.
Usage
updateGrade(
examinee_object,
assessment_structure,
module_position,
cut_scores,
transition_policy = "CI",
transition_CI_alpha,
transition_percentile_lower,
transition_percentile_upper,
item_pool
)
Arguments
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 |
Details
Currently the routing rules are hard-coded in the function. See the vignette for a description of routing rules.
Value
an examinee object with its current_grade slot updated.
Update the item data slot of an examinee object
Description
updateItemData is a function for updating examinee objects after completing a module.
Usage
updateItemData(examinee_object, module_position, solution)
Arguments
examinee_object |
an |
module_position |
the current module position. |
solution |
an |
Details
updateItemData updates the item_data slot with an item_pool object
that contains administered items in the module.
Value
an examinee object with its item_data slot updated.
Update the routing log of an examinee object
Description
updateLog is a function for updating examinee objects after completing a module.
updateLog updates logs with grades, phases, tests and modules.
Usage
updateLog(examinee_object, current_module_position)
Arguments
examinee_object |
an |
current_module_position |
the current module position. |
Value
an examinee object with its grade_log, phase_log, test_log, and module_log slots updated.
Update the current module of an examinee object
Description
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.
Usage
updateModule(examinee_object, module_list)
Arguments
examinee_object |
an |
module_list |
a module list from |
Value
an examinee object with its current_module slot updated.
Update the current phase of an examinee object
Description
updatePhase is a function for updating examinee objects after completing a module.
updatePhase updates the phase by calling changePhase.
Usage
updatePhase(examinee_object, assessment_structure)
Arguments
examinee_object |
an |
assessment_structure |
an |
Value
an examinee object with its current_phase slot updated.
Examples
## 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
Update the current test of an examinee object
Description
updateTest is the function for updating the new test ID in
an examinee object.
Usage
updateTest(examinee_object, assessment_structure)
Arguments
examinee_object |
an |
assessment_structure |
an |
Value
an examinee object with its current_test slot updated.
Examples
## 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
Update the theta used for routing of an examinee object
Description
updateThetaForRouting is a function for updating examinee objects after completing a module.
updateThetaForRouting determines what type of theta estimate is used to perform routing.
Usage
updateThetaForRouting(examinee_object, current_module_position, combine_policy)
Arguments
examinee_object |
an |
current_module_position |
the current module position. |
combine_policy |
|
Value
an examinee object with its estimated_theta_for_routing slot updated.
Update theta estimates using combined responses from a test
Description
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.
Usage
updateThetaUsingCombined(examinee_object, current_module_position, config)
Arguments
examinee_object |
an |
current_module_position |
the current module position. |
config |
a |
Value
an examinee object with its estimated_theta_by_test slot updated.