Package: autoFC 1.0.0.1001

Mengtong Li

autoFC: Automatic Toolkit for Construction, Optimization, Scoring and Simulation of Forced-Choice Tests

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.

Authors:Mengtong Li [cre, aut], Tianjun Sun [aut], Bo Zhang [aut]

autoFC_1.0.0.1001.tar.gz
autoFC_1.0.0.1001.tar.gz(r-4.7-any)autoFC_1.0.0.1001.tar.gz(r-4.6-any)
autoFC_1.0.0.1001.tgz(r-4.6-emscripten)
manual.pdf |manual.html
card.svg |card.png
autoFC/json (API)
NEWS

# Install 'autoFC' in R:
install.packages('autoFC', repos = c('https://cran.r-universe.dev', 'https://cloud.r-project.org'))
Datasets:
  • FC_blocks - Actual FC Blocks construted from HEXACO-60 Items from Four Respondent Groups
  • FC_item_info - Keying and factor information for HEXACO-60 items
  • HEXACO_example_data - Example HEXACO Response Data
  • MOLE_data - Actual Response to FC scales in MOLE format

On CRAN:

Conda:

This package does not link to any Github/Gitlab/R-forge repository. No issue tracker or development information is available.

3.18 score 3 scripts 614 downloads 28 exports 75 dependencies

Last updated from:777e2844ba. Checks:4 OK. Indexed: no.

TargetResultTimeFilesSyslog
linux-devel-x86_64OK251
source / vignettesOK373
linux-release-x86_64OK255
wasm-releaseOK330

Exports:build_blueprint_blocksbuild_target_distcal_block_energycal_block_energy_with_iiaconvert_mole_to_pairwiseconvert_ranks_to_pairwisecreate_blueprint_templateempirical_reliabilityextract_adjacent_pairs_stanextract_tirt_stan_scoresfacfungenerate_tirt_lavaan_syntaxgenerate_tirt_mplus_syntaxgenerate_tirt_stan_syntaxget_CFA_estimatesget_iiaget_simulation_matricesmake_random_blockoptimize_blocksplot_scorespredict_tirt_stanprepare_tirt_stan_dataRMSE_rangescore_tirt_ipsativescore_tirt_lavaanscore_tirt_mplusscore_tirt_stansummarize_trait_pairs

Dependencies:abindaskpassbackportsBHbootcallrcheckmateclicodacpp11curldata.tabledescdigestdistributionalfarverfastDummiesgenericsggplot2gluegridExtragsubfngtablehttrinlineisobandjsonlitelabelinglatticelavaanlifecycleloomagrittrMASSmatrixStatsmimemnormtMplusAutomationnumDerivopensslotelpanderpbapplypbivnormpillarpkgbuildpkgconfigplyrposteriorprocessxprotopsquadprogQuickJSRR6RColorBrewerRcppRcppEigenRcppParallelrlangrstanS7scalesStanHeadersstringistringrsystensorAtexregtibbleutf8vctrsviridisLitewithrxtable

Getting Started with autoFC

Rendered fromintro-to-autoFC.Rmdusingknitr::rmarkdownon Jun 10 2026.

Last update: 2026-05-27
Started: 2026-05-27

Readme and manuals

Help Manual

Help pageTopics
Build Forced-Choice Blocks from a Custom Blueprintbuild_blueprint_blocks
Create Target Pair Distribution for Scale-Level Fitbuild_target_dist
Fast Calculation of Item Block "Energy"cal_block_energy
Fast Calculation of Item Block "Energy" with Inter-Item Agreementcal_block_energy_with_iia
Convert Most/Least (MOLE) Survey Data into Pairwise Binary Outcomesconvert_mole_to_pairwise
Convert Ranked Blocks into Pairwise Binary Outcomesconvert_ranks_to_pairwise
Generate a Blueprint Template for Forced-Choice Scalescreate_blueprint_template
Empirical Reliability Estimatesempirical_reliability
Extract Only Adjacent Rank Pairs for Stan (Heister et al., 2025)extract_adjacent_pairs_stan
Extract Trait Scores and SEs from a Fitted Stan TIRT Modelextract_tirt_stan_scores
Function for Checking If All Items in a Vector Are Uniquefacfun
Actual FC Blocks construted from HEXACO-60 Items from Four Respondent GroupsFC_blocks
Keying and factor information for HEXACO-60 itemsFC_item_info
Generate lavaan Syntax for Thurstonian Modelsgenerate_tirt_lavaan_syntax
Generate Mplus Syntax for Thurstonian IRT (TIRT) or Thurstonian Factor Model (TFM)generate_tirt_mplus_syntax
Generate Stan Syntax and Data for TIRT Modelsgenerate_tirt_stan_syntax
Conduct Confirmatory Factor Analysis (CFA) and Obtain Parameter Estimatesget_CFA_estimates
Helper Function for Outputting IIA Characteristics of Each Blockget_iia
Generate Simulated Person and Item Parameter Matrices for the TIRT Modelget_simulation_matrices
Example HEXACO Response DataHEXACO_example_data
Construction of Random Item Blocksmake_random_block
Actual Response to FC scales in MOLE formatMOLE_data
Automatic Item Pairing Method in Forced-Choice Test Constructionoptimize_blocks
Scatter Plot for True vs Estimated Scores, True Score vs Absolute Error, etc.plot_scores
Predict Trait Scores for New Data using a Fitted Stan Modelpredict_tirt_stan
Prepare pairwise list data for Stanprepare_tirt_stan_data
Calculate Overall or Binned RMSE of Trait ScoresRMSE_range
Calculate Classical Ipsative (Sum) Scores for Forced-Choice Measuresscore_tirt_ipsative
Fast, Analytical Trait Scoring for Second-Order TIRT using optim()score_tirt_lavaan
Fast Analytical Trait Scoring for Mplus TIRT/TFM Modelsscore_tirt_mplus
Run Stan TIRT Model and Extract Formatted Scoresscore_tirt_stan
Summarize Trait and Keying Pairs in a Constructed Forced-Choice Testsummarize_trait_pairs