Automatic Toolkit for Construction, Optimization, Scoring and Simulation of Forced-Choice Tests
Overview
Forced-choice (FC) response has gained increasing popularity and interest for its resistance to faking when well-designed (Cao & Drasgow, 2019 doi:10.1037/apl0000414). To established well-designed FC scales, typically each item within a block should measure different trait and have similar level of social desirability (Zhang et al., 2020 doi:10.1177/1094428119836486). Recent study also suggests the importance of high inter-item agreement of social desirability between items within a block (Pavlov et al., 2021 doi:10.31234/osf.io/hmnrc). In addition to this, FC developers may also need to maximize factor loading differences (Brown & Maydeu-Olivares, 2011 doi:10.1177/0013164410375112) or minimize item location differences (Cao & Drasgow, 2019 doi:10.1037/apl0000414) depending on scoring models. Decision of which items should be assigned to the same block, also called as item pairing, is thus critical to the quality of an FC test. Because such pairing process often requires researchers to meet multiple objectives, manual pairing becomes impractical or even not feasible once the number of latent traits and/or number of items per elevates. To address these problems, autoFC is developed as a automatic and efficient tool for facilitating the automatic construction of FC tests (Li et al., 2022 doi:10.1177/01466216211051726), essentially exempting users from the burden of manual item pairing. Given characteristics of each item (and item responses), FC measures can be constructed either automatically based on user-defined pairing criteria and weights, or based on exact specifications of each block (i.e., blueprint; see Li et al., 2025 doi:10.1177/10944281241229784). Users can also generate simulated responses based on the Thurstonian Item Response Theory model (Brown & Maydeu-Olivares, 2011 doi:10.1177/0013164410375112) and predict trait scores of simulated/actual respondents based on an estimated model.
- Includes full support for compositional and graded forced-choice formats. Now most mainstream FC formats can be simulated, scored and validated using this package.
Li, M., Sun, T., & Zhang, B. (2022). AutoFC: An R package for automatic item pairing in forced-choice test construction.
*Applied Psychological Measurement, 46*(1), 70-72. https://doi.org/10.1177/01466216211051726
Li, M., Zhang, B., Li, L., Sun, T., & Brown, A. (2025). Mixed-keying or desirability-matching in the construction of forced-choice measures? An empirical investigation and practical recommendations.
*Organizational Research Methods, 28*(2), 296-329. https://doi.org/10.1177/10944281241229784
From NEWS.md in the release
Install
Health
- OK13 OK2026-09-08
- ERROR12 OK, 1 ERROR2026-09-07
- OK13 OK2026-08-05
- NOTE12 OK, 1 NOTE2026-08-01
- OK13 OK2026-06-09
Show 4 earlier changesHide 4 earlier changes
- ERROR12 OK, 1 ERROR2026-06-08
- OK8 OK2026-05-02
- ERROR7 OK, 1 ERROR2026-04-30
- OK14 OK2026-03-10
Documentation
- Help pages
- 51
- Examples that run
- 100%7 run in a plain check
- Exported functions with examples
- 15%
- Documented parameters
- 99%
- Return-value docs
- 91%
- Help pages citing references
- 12%
Downloads
Dependencies
Installing autoFC adds 72 packages (36 with compiled code, 75 MB of source tarballs). Heaviest: BH 14 MB, stringi 11 MB, MplusAutomation 7.5 MB.
Code & Tests
Datasets
People & History
Pick two releases to compare their code metrics.
- 1.0.0.1100Latest2026-07-14 · current release · diff ↗ ·
removed 1 export
generate_tirt_stan_syntaxadded 15 exports
build_pairwise_names, convert_maxdiff_to_pairwise, convert_pick_to_pairwise, generate_cfc_mplus_syntax, generate_gfc_lavaan_syntax, generate_gfc_mplus_syntax, predict_cfc_stan, predict_gfc_stan, prepare_cfc_stan_data, prepare_gfc_stan_data, score_cfc_mplus, score_cfc_stan, score_gfc_lavaan, score_gfc_mplus, score_gfc_stan - 1.0.0.10022026-07-14 · diff ↗ ·
added 4 exports
convert_comp_to_log, generate_cfc_lavaan_syntax, score_cfc_lavaan, simulate_fc_data - 1.0.0.10012026-06-10 · diff ↗
- 1.0.0.10002026-05-27 · diff ↗ ·
removed 8 exports
build_TIRT_var_names, build_scale_with_blueprint, construct_blueprint, convert_to_TIRT_response, fit_TIRT_model, get_TIRT_long_data, predict_scores, sa_pairing_generalizedadded 18 exports
build_blueprint_blocks, build_target_dist, convert_mole_to_pairwise, convert_ranks_to_pairwise, create_blueprint_template, extract_adjacent_pairs_stan, extract_tirt_stan_scores, generate_tirt_lavaan_syntax, generate_tirt_mplus_syntax, generate_tirt_stan_syntax, optimize_blocks, predict_tirt_stan, prepare_tirt_stan_data, score_tirt_ipsative, score_tirt_lavaan, score_tirt_mplus, score_tirt_stan, summarize_trait_pairs - unarchivedReturned to CRAN2026-04-29
- 0.2.0.1010
- RR 4.6.0 released · 2026-04-24
- archivedRemoved from CRAN2026-04-10requires archived package 'irrCAC'
- RR 4.5.0 released · 2025-04-11
- 0.2.0.10022025-03-13 · diff ↗
- RR 4.4.0 released · 2024-04-24
- 0.2.0.10012024-02-17 · diff ↗ ·
added 12 exports
RMSE_range, build_TIRT_var_names, build_scale_with_blueprint, construct_blueprint, convert_to_TIRT_response, empirical_reliability, fit_TIRT_model, get_CFA_estimates, get_TIRT_long_data, get_simulation_matrices, plot_scores, predict_scores - RR 4.3.0 released · 2023-04-21
- RR 4.2.0 released · 2022-04-22
- 0.1.22021-06-07
- RR 4.1.0 released · 2021-05-18
Package metadata
- First published
- 2021-06-07
- Total releases
- 8 / 5 yrs
- License
- GPL (>= 3) OSI
- Additional repositories
- stan-dev.r-universe.dev
- Minimum R
- ≥ 3.5
- Bundled data
- 82 KB / 4 files
- Download size
- 299 KB
Cite
Cite this package
Run in R for the authors' entry:
citation("autoFC")The package provides a citation file, so citation() returns the authors' own entry.
It points to 10.1177/01466216211051726.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-22, which the citation names so these numbers can be found later. More on citing and the projects behind them.