Package: TestDesign 1.7.09999

TestDesign: Optimal Test Design Approach to Fixed and Adaptive Test Construction

Uses the optimal test design approach by Birnbaum (1968, ISBN:9781593119348) and van der Linden (2018) <doi:10.1201/9781315117430> to construct fixed, adaptive, and parallel tests. Supports the following mixed-integer programming (MIP) solver packages: 'Rsymphony', 'highs', 'gurobi', 'lpSolve', and 'Rglpk'. The 'gurobi' package is not available from CRAN; see <https://www.gurobi.com/downloads/>.

Authors:Seung W. Choi [aut, cre], Sangdon Lim [aut]

TestDesign_1.7.09999.tar.gz
TestDesign_1.7.09999.zip(r-4.5)TestDesign_1.7.09999.zip(r-4.4)TestDesign_1.7.09999.zip(r-4.3)
TestDesign_1.7.09999.tgz(r-4.4-x86_64)TestDesign_1.7.09999.tgz(r-4.4-arm64)TestDesign_1.7.09999.tgz(r-4.3-x86_64)TestDesign_1.7.09999.tgz(r-4.3-arm64)
TestDesign_1.7.09999.tar.gz(r-4.5-noble)TestDesign_1.7.09999.tar.gz(r-4.4-noble)
TestDesign_1.7.09999.tgz(r-4.4-emscripten)TestDesign_1.7.09999.tgz(r-4.3-emscripten)
TestDesign.pdf |TestDesign.html
TestDesign/json (API)
NEWS

# Install 'TestDesign' in R:
install.packages('TestDesign', repos = c('https://choi-phd.r-universe.dev', 'https://cloud.r-project.org'))

Peer review:

Bug tracker:https://github.com/choi-phd/testdesign/issues

Uses libs:
  • openblas– Optimized BLAS
  • c++– GNU Standard C++ Library v3
Datasets:

On CRAN:

7.38 score 2 stars 2 packages 37 scripts 584 downloads 167 exports 11 dependencies

Last updated 2 months agofrom:9af8b12f95. Checks:OK: 3 NOTE: 6. Indexed: yes.

TargetResultDate
Doc / VignettesOKOct 26 2024
R-4.5-win-x86_64OKOct 26 2024
R-4.5-linux-x86_64OKOct 26 2024
R-4.4-win-x86_64NOTEOct 26 2024
R-4.4-mac-x86_64NOTEOct 26 2024
R-4.4-mac-aarch64NOTEOct 26 2024
R-4.3-win-x86_64NOTEOct 26 2024
R-4.3-mac-x86_64NOTEOct 26 2024
R-4.3-mac-aarch64NOTEOct 26 2024

Exports:a_to_alphaapparray_dirinfo_m_2plarray_dirinfo_m_3plarray_dirinfo_m_gpcarray_dirinfo_m_grarray_e_1plarray_e_2plarray_e_3plarray_e_gpcarray_e_grarray_e_pcarray_h_1plarray_h_2plarray_h_3plarray_h_gpcarray_h_grarray_h_pcarray_info_1plarray_info_2plarray_info_3plarray_info_gpcarray_info_grarray_info_m_2plarray_info_m_3plarray_info_m_gpcarray_info_m_grarray_info_pcarray_j_1plarray_j_2plarray_j_3plarray_j_gpcarray_j_grarray_j_pcarray_p_1plarray_p_2plarray_p_3plarray_p_gpcarray_p_grarray_p_m_2plarray_p_m_3plarray_p_m_gpcarray_p_m_grarray_p_pcarray_thisdirinfo_m_2plarray_thisdirinfo_m_3plarray_thisdirinfo_m_gpcarray_thisdirinfo_m_gras.data.framebuildConstraintscalc_infocalc_info_matrixcalc_likelihoodcalc_likelihood_functioncalc_log_likelihoodcalc_log_likelihood_functioncalcEscorecalcFishercalcHessiancalcJacobiancalcLocationcalcLogLikelihoodcalcProbcalculateAdaptivityMeasurescombineConstraintscombineItemPoolcreateShadowTestConfigcreateStaticTestConfigdetectBestSolverdirinfo_m_2pldirinfo_m_3pldirinfo_m_gpcdirinfo_m_gre_1ple_2ple_3ple_gpce_gre_m_2ple_m_3ple_m_gpce_m_gre_pceapfind_segmentgetScoreAttributesgetSolutiongetSolutionAttributesh_1plh_2plh_3plh_gpch_grh_m_2plh_m_3plh_m_gpch_m_grh_pcinfo_1plinfo_2plinfo_3plinfo_gpcinfo_grinfo_m_2plinfo_m_3plinfo_m_gpcinfo_m_grinfo_pciparPosteriorSamplej_1plj_2plj_3plj_gpcj_grj_m_2plj_m_3plj_m_gpcj_m_grj_pclnHyperParsloadConstraintsloadItemAttribloadItemPoolloadStAttriblogitHyperParsmakeConstraintsByEachPartitionmakeItemPoolClustermakeSimulationDataCachemakeTestmakeTestClustermlemlefOATp_1plp_2plp_3plp_gpcp_grp_m_2plp_m_3plp_m_gpcp_m_grp_pcplotprintShadowshowsimRespSplitStaticsubsetConstraintssubsetItemPoolsubsetTestsummaryTestDesigntestSolvertheta_EAPtheta_EAP_matrixtheta_EBtheta_EB_singletheta_FBtheta_FB_singlethisdirinfo_m_2plthisdirinfo_m_3plthisdirinfo_m_gpcthisdirinfo_m_grtoggleConstraints

Dependencies:backportscheckmatecodetoolscrayonforeachhighsiteratorslogitnormlpSolveRcppRcppArmadillo

Creating constraints in TestDesign package

Rendered fromconstraints.Rmdusingknitr::rmarkdownon Oct 26 2024.

Last update: 2024-01-15
Started: 2019-07-15

Installing Rsymphony solver package on Mac

Rendered fromrsymphony.Rmdusingknitr::rmarkdownon Oct 26 2024.

Last update: 2022-12-14
Started: 2019-07-19

Using Split() for creating parallel tests/pools

Rendered fromsplit.Rmdusingknitr::rmarkdownon Oct 26 2024.

Last update: 2022-03-02
Started: 2022-02-24

Readme and manuals

Help Manual

Help pageTopics
Calculate alpha angles from a-parametersa_to_alpha
Open TestDesign appapp OAT
Build constraints (shortcut to other loading functions)buildConstraints
(C++) For multiple items, calculate Fisher informationcalc_info calc_info_matrix
Calculate the Fisher information using empirical Bayescalc_info_EB
Calculate the Fisher information using full Bayesiancalc_info_FB
(C++) For multiple items, calculate likelihoodscalc_likelihood calc_likelihood_function calc_log_likelihood calc_log_likelihood_function
Calculate the mutual information using full Bayesiancalc_MI_FB
Calculate a posterior value of thetacalc_posterior
Calculate a posterior distribution of thetacalc_posterior_function
Calculate a posterior value of theta for a single itemcalc_posterior_single
Calculate expected scorescalcEscore calcEscore,item_1PL,matrix-method calcEscore,item_1PL,numeric-method calcEscore,item_2PL,matrix-method calcEscore,item_2PL,numeric-method calcEscore,item_3PL,matrix-method calcEscore,item_3PL,numeric-method calcEscore,item_GPC,matrix-method calcEscore,item_GPC,numeric-method calcEscore,item_GR,matrix-method calcEscore,item_GR,numeric-method calcEscore,item_PC,matrix-method calcEscore,item_PC,numeric-method calcEscore,item_pool,matrix-method calcEscore,item_pool,numeric-method calcEscore,item_pool_cluster,numeric-method
Calculate Fisher informationcalcFisher calcFisher,item_1PL,matrix-method calcFisher,item_1PL,numeric-method calcFisher,item_2PL,matrix-method calcFisher,item_2PL,numeric-method calcFisher,item_3PL,matrix-method calcFisher,item_3PL,numeric-method calcFisher,item_GPC,matrix-method calcFisher,item_GPC,numeric-method calcFisher,item_GR,matrix-method calcFisher,item_GR,numeric-method calcFisher,item_PC,matrix-method calcFisher,item_PC,numeric-method calcFisher,item_pool,matrix-method calcFisher,item_pool,numeric-method calcFisher,item_pool_cluster,numeric-method
Calculate second derivative of log-likelihoodcalcHessian calcHessian,item_1PL,matrix,numeric-method calcHessian,item_1PL,matrix-method calcHessian,item_1PL,numeric,numeric-method calcHessian,item_1PL,numeric-method calcHessian,item_2PL,matrix,numeric-method calcHessian,item_2PL,matrix-method calcHessian,item_2PL,numeric,numeric-method calcHessian,item_2PL,numeric-method calcHessian,item_3PL,matrix,numeric-method calcHessian,item_3PL,matrix-method calcHessian,item_3PL,numeric,numeric-method calcHessian,item_3PL,numeric-method calcHessian,item_GPC,matrix,numeric-method calcHessian,item_GPC,matrix-method calcHessian,item_GPC,numeric,numeric-method calcHessian,item_GPC,numeric-method calcHessian,item_GR,matrix,numeric-method calcHessian,item_GR,matrix-method calcHessian,item_GR,numeric,numeric-method calcHessian,item_GR,numeric-method calcHessian,item_PC,matrix,numeric-method calcHessian,item_PC,matrix-method calcHessian,item_PC,numeric,numeric-method calcHessian,item_PC,numeric-method calcHessian,item_pool,numeric,numeric-method calcHessian,item_pool,numeric-method calcHessian,item_pool_cluster,numeric,list-method calcHessian,item_pool_cluster,numeric-method
Calculate first derivative of log-likelihoodcalcJacobian calcJacobian,item_1PL,matrix,numeric-method calcJacobian,item_1PL,matrix-method calcJacobian,item_1PL,numeric,numeric-method calcJacobian,item_1PL,numeric-method calcJacobian,item_2PL,matrix,numeric-method calcJacobian,item_2PL,matrix-method calcJacobian,item_2PL,numeric,numeric-method calcJacobian,item_2PL,numeric-method calcJacobian,item_3PL,matrix,numeric-method calcJacobian,item_3PL,matrix-method calcJacobian,item_3PL,numeric,numeric-method calcJacobian,item_3PL,numeric-method calcJacobian,item_GPC,matrix,numeric-method calcJacobian,item_GPC,matrix-method calcJacobian,item_GPC,numeric,numeric-method calcJacobian,item_GPC,numeric-method calcJacobian,item_GR,matrix,numeric-method calcJacobian,item_GR,matrix-method calcJacobian,item_GR,numeric,numeric-method calcJacobian,item_GR,numeric-method calcJacobian,item_PC,matrix,numeric-method calcJacobian,item_PC,matrix-method calcJacobian,item_PC,numeric,numeric-method calcJacobian,item_PC,numeric-method calcJacobian,item_pool,numeric,numeric-method calcJacobian,item_pool,numeric-method calcJacobian,item_pool_cluster,numeric,list-method calcJacobian,item_pool_cluster,numeric-method
Calculate central location (overall difficulty)calcLocation calcLocation,item_1PL-method calcLocation,item_2PL-method calcLocation,item_3PL-method calcLocation,item_GPC-method calcLocation,item_GR-method calcLocation,item_PC-method calcLocation,item_pool-method calcLocation-methods
Calculate log-likelihoodcalcLogLikelihood calcLogLikelihood,item_pool,matrix,matrix-method calcLogLikelihood,item_pool,matrix,numeric-method calcLogLikelihood,item_pool,numeric,matrix-method calcLogLikelihood,item_pool,numeric,numeric-method
Calculate item response probabilitiescalcProb calcProb,item_1PL,matrix-method calcProb,item_1PL,numeric-method calcProb,item_2PL,matrix-method calcProb,item_2PL,numeric-method calcProb,item_3PL,matrix-method calcProb,item_3PL,numeric-method calcProb,item_GPC,matrix-method calcProb,item_GPC,numeric-method calcProb,item_GR,matrix-method calcProb,item_GR,numeric-method calcProb,item_PC,matrix-method calcProb,item_PC,numeric-method calcProb,item_pool,matrix-method calcProb,item_pool,numeric-method calcProb,item_pool_cluster,numeric-method calcProb-methods
Calculate Adaptivity MeasurescalculateAdaptivityMeasures
Check the consistency of constraints and item usagecheckConstraints
Create a config_Shadow objectconfig_Shadow-class createShadowTestConfig
Create a config_Static objectconfig_Static-class createStaticTestConfig
Class 'constraint': a single constraintconstraint-class
Class 'constraints': a set of constraintsconstraints-class
Basic operators for constraints objectsc,constraints-method combineConstraints constraints-operators subsetConstraints [,constraints,numeric,ANY,ANY-method [,constraints,numeric-method
Bayes datasetconstraints_bayes constraints_bayes_data dataset_bayes itemattrib_bayes itemattrib_bayes_data itempool_bayes itempool_bayes_data itempool_se_bayes_data
Fatigue datasetconstraints_fatigue constraints_fatigue_data dataset_fatigue itemattrib_fatigue itemattrib_fatigue_data itempool_fatigue itempool_fatigue_data itemtext_fatigue_data resp_fatigue_data
Reading datasetconstraints_reading constraints_reading_data dataset_reading itemattrib_reading itemattrib_reading_data itempool_reading itempool_reading_data stimattrib_reading stimattrib_reading_data
Science datasetconstraints_science constraints_science_data dataset_science itemattrib_science itemattrib_science_data itempool_science itempool_science_data
Detect best solverdetectBestSolver
(C++) Calculate expected scoresarray_e_1pl array_e_2pl array_e_3pl array_e_gpc array_e_gr array_e_pc e_1pl e_2pl e_3pl e_gpc e_gr e_item e_m_2pl e_m_3pl e_m_gpc e_m_gr e_pc
Compute expected a posteriori estimates of thetaEAP eap eap,item_pool-method EAP,test-method EAP,test_cluster-method
(C++) Classify theta values into segments using cutpointsfind_segment
Retrieve constraints-related scores from solutiongetScoreAttributes
Print solution itemsgetSolution getSolution,list-method getSolution,output_Static-method
Retrieve constraints-related attributes from solutiongetSolutionAttributes
(C++) Calculate second derivative of log-likelihoodarray_h_1pl array_h_2pl array_h_3pl array_h_gpc array_h_gr array_h_pc h_1pl h_2pl h_3pl h_gpc h_gr h_item h_m_2pl h_m_3pl h_m_gpc h_m_gr h_pc
(C++) Calculate Fisher informationarray_dirinfo_m_2pl array_dirinfo_m_3pl array_dirinfo_m_gpc array_dirinfo_m_gr array_info_1pl array_info_2pl array_info_3pl array_info_gpc array_info_gr array_info_m_2pl array_info_m_3pl array_info_m_gpc array_info_m_gr array_info_pc array_thisdirinfo_m_2pl array_thisdirinfo_m_3pl array_thisdirinfo_m_gpc array_thisdirinfo_m_gr dirinfo_m_2pl dirinfo_m_3pl dirinfo_m_gpc dirinfo_m_gr info_1pl info_2pl info_3pl info_gpc info_gr info_item info_m_2pl info_m_3pl info_m_gpc info_m_gr info_pc thisdirinfo_m_2pl thisdirinfo_m_3pl thisdirinfo_m_gpc thisdirinfo_m_gr
Generate item parameter samples for Bayesian purposesiparPosteriorSample
Load item attributesitem_attrib-class loadItemAttrib
Basic functions for item attribute objectsas.data.frame,item_attrib-method colnames,item_attrib-method dim,item_attrib-method item_attrib-operators names,item_attrib-method rownames,item_attrib-method [,item_attrib,numeric,ANY,ANY-method [,item_attrib,numeric-method
Class 'item_pool_cluster': an item poolitem_pool_cluster-class
Class 'item_pool': an item poolitem_pool-class
Basic operators for item pool objects+.item_pool -.item_pool ==.item_pool c,item_pool-method combineItemPool item_pool-operators subsetItemPool [,item_pool,numeric,ANY,ANY-method [,item_pool,numeric-method
Item classesitem item-classes item_1PL-class item_2PL-class item_3PL-class item_GPC-class item_GR-class item_PC-class
(C++) Calculate first derivative of log-likelihoodarray_j_1pl array_j_2pl array_j_3pl array_j_gpc array_j_gr array_j_pc j_1pl j_2pl j_3pl j_gpc j_gr j_item j_m_2pl j_m_3pl j_m_gpc j_m_gr j_pc
Convert mean and standard deviation into log-normal distribution parameterslnHyperPars
Load constraintsloadConstraints
Load item poolloadItemPool
Convert mean and standard deviation into logit-normal distribution parameterslogitHyperPars
make constraints objects from Split() solution indicesmakeConstraintsByEachPartition
Create an item pool cluster object==.item_pool_cluster makeItemPoolCluster makeItemPoolCluster,item_pool-method
Create a simulation data cache objectmakeSimulationDataCache makeSimulationDataCache,item_pool-method
Create a test objectmakeTest makeTest,item_pool-method
Create a test cluster objectmakeTestCluster makeTestCluster,item_pool_cluster,numeric,list-method makeTestCluster,item_pool_cluster,numeric,numeric-method
Compute maximum likelihood estimates of thetaMLE mle mle,item_pool-method MLE,test-method MLE,test_cluster-method
Compute maximum likelihood estimates of theta using fence itemsmlef mlef,item_pool-method
Class 'output_Shadow_all': a set of adaptive assembly solutionsoutput_Shadow_all-class
Class 'output_Shadow': adaptive assembly solution for one simuleeoutput_Shadow-class
Class 'output_Split': partitioning solutionoutput_Split-class
Class 'output_Static': fixed-form assembly solutionoutput_Static-class
(C++) Calculate item response probabilityarray_p_1pl array_p_2pl array_p_3pl array_p_gpc array_p_gr array_p_m_2pl array_p_m_3pl array_p_m_gpc array_p_m_gr array_p_pc p_1pl p_2pl p_3pl p_gpc p_gr p_item p_m_2pl p_m_3pl p_m_gpc p_m_gr p_pc
Extension of plot() for objects in TestDesign packageplot plot,constraints-method plot,item_pool-method plot,output_Shadow-method plot,output_Shadow_all-method plot,output_Split-method plot,output_Static-method
Extension of print() for objects in TestDesign packageprint print,config_Shadow-method print,config_Static-method print,constraints-method print,exposure_rate_plot-method print,item_1PL-method print,item_2PL-method print,item_3PL-method print,item_attrib-method print,item_GPC-method print,item_GR-method print,item_PC-method print,item_pool-method print,output_Shadow-method print,output_Shadow_all-method print,output_Static-method print,st_attrib-method print,summary_constraints-method print,summary_item_attrib-method print,summary_item_pool-method print,summary_output_Shadow_all-method print,summary_output_Static-method print,summary_st_attrib-method
Calculate Relative ErrorsRE
Calculate Root Mean Squared ErrorRMSE
Run adaptive test assemblyShadow Shadow,config_Shadow-method
Extension of show() for objects in TestDesign packageshow show,config_Shadow-method show,config_Static-method show,constraints-method show,exposure_rate_plot-method show,item_1PL-method show,item_2PL-method show,item_3PL-method show,item_attrib-method show,item_GPC-method show,item_GR-method show,item_PC-method show,item_pool-method show,item_pool_cluster-method show,output_Shadow-method show,output_Shadow_all-method show,output_Static-method show,pool_cluster-method show,st_attrib-method show,summary_constraints-method show,summary_item_attrib-method show,summary_item_pool-method show,summary_output_Shadow_all-method show,summary_output_Static-method show,summary_st_attrib-method
Simulate item response datasimResp simResp,item_1PL,matrix-method simResp,item_1PL,numeric-method simResp,item_2PL,matrix-method simResp,item_2PL,numeric-method simResp,item_3PL,matrix-method simResp,item_3PL,numeric-method simResp,item_GPC,matrix-method simResp,item_GPC,numeric-method simResp,item_GR,matrix-method simResp,item_GR,numeric-method simResp,item_PC,matrix-method simResp,item_PC,numeric-method simResp,item_pool,matrix-method simResp,item_pool,numeric-method simResp,item_pool_cluster,list-method simResp,item_pool_cluster,numeric-method
Class 'simulation_data_cache': data cache for Shadow()simulation_data_cache-class
Split an item pool into partitionsSplit Split,config_Static-method
Load set/stimulus/passage attributesloadStAttrib st_attrib-class
Basic functions for stimulus attribute objectsas.data.frame,st_attrib-method colnames,st_attrib-method dim,st_attrib-method names,st_attrib-method rownames,st_attrib-method st_attrib-operators [,st_attrib,numeric,ANY,ANY-method [,st_attrib,numeric-method
Run fixed-form test assemblyStatic Static,config_Static-method
Extension of summary() for objects in TestDesign packagesummary summary,constraints-method summary,item_attrib-method summary,item_pool-method summary,output_Shadow_all-method summary,output_Static-method summary,st_attrib-method
Summary classessummary-classes summary_constraints-class summary_item_attrib-class summary_item_pool-class summary_output_Shadow-class summary_output_Shadow_all-class summary_output_Static-class summary_st_attrib-class
Class 'test_cluster': data cache for simulationstest_cluster-class
Basic operators for test objectssubsetTest test_operators [,test,ANY-method [,test,numeric,ANY,ANY-method
Class 'test': data cache for simulationstest-class
Open TestDesign appTestDesign
Test solvertestSolver
(C++) Calculate a theta estimate using EAP (expected a posteriori) methodtheta_EAP theta_EAP_matrix
(C++) Calculate a theta estimate using EB (Empirical Bayes) methodtheta_EB theta_EB_single
(C++) Calculate a theta estimate using FB (Full Bayes) methodtheta_FB theta_FB_single
Toggle constraintstoggleConstraints