Package: EFAtools 1.0.0.9000

EFAtools: Fast and Flexible Implementations of Exploratory Factor Analysis Tools

Provides a complete workflow for exploratory factor analysis (EFA). It covers data screening and factorability checks, a suite of factor retention criteria for choosing the number of factors, and factor extraction by principal axis factoring, maximum likelihood, unweighted least squares, or diagonally weighted least squares from Pearson, Spearman, Kendall, polychoric, tetrachoric, or two-stage full-information maximum likelihood correlations. A built-in rotation engine offers a range of orthogonal and oblique rotations, and standard errors for loadings and related quantities can be obtained by analytic, robust, or bootstrap methods. Further tools support model averaging across analytic choices, multigroup EFA with factor congruence, EFA on multiply imputed data, Schmid-Leiman transformation, reliability coefficients (including McDonald's omegas), factor score estimation, data simulation, and power analysis. Computationally intensive procedures are implemented in 'C++' for speed.

Authors:Markus Steiner [aut, cre], Silvia Steiner [aut], William Revelle [ctb], Max Auerswald [ctb], Morten Moshagen [ctb], John Ruscio [ctb], Brendan Roche [ctb], Urbano Lorenzo-Seva [ctb], David Navarro-Gonzalez [ctb], Johan Braeken [ctb], Andreas Soteriades [ctb]

EFAtools_1.0.0.9000.tar.gz
EFAtools_1.0.0.9000.zip(r-4.7-x86_64)EFAtools_1.0.0.9000.zip(r-4.7-arm64)EFAtools_1.0.0.9000.zip(r-4.6-x86_64)EFAtools_1.0.0.9000.zip(r-4.6-arm64)EFAtools_1.0.0.9000.zip(r-4.5-x86_64)
EFAtools_1.0.0.9000.tgz(r-4.6-x86_64)EFAtools_1.0.0.9000.tgz(r-4.6-arm64)EFAtools_1.0.0.9000.tgz(r-4.5-x86_64)EFAtools_1.0.0.9000.tgz(r-4.5-arm64)
EFAtools_1.0.0.9000.tar.gz(r-4.7-arm64)EFAtools_1.0.0.9000.tar.gz(r-4.7-x86_64)EFAtools_1.0.0.9000.tar.gz(r-4.6-arm64)EFAtools_1.0.0.9000.tar.gz(r-4.6-x86_64)
EFAtools_1.0.0.9000.tgz(r-4.6-emscripten)
manual.pdf |manual.html
DESCRIPTION |NEWS
card.svg |card.png
EFAtools/json (API)

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

Bug tracker:https://github.com/mdsteiner/efatools/issues

Pkgdown/docs site:https://mdsteiner.github.io

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

On CRAN:

Conda:

openblascpp

8.85 score 10 stars 2 packages 130 scripts 1.5k downloads 1 mentions 46 exports 37 dependencies

Last updated from:af648d2dc2. Checks:15 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-arm64OK443
linux-devel-x86_64OK433
source / vignettesOK424
linux-release-arm64OK440
linux-release-x86_64OK343
macos-release-arm64OK365
macos-release-x86_64OK669
macos-oldrel-arm64OK343
macos-oldrel-x86_64OK579
windows-devel-arm64OK589
windows-devel-x86_64OK589
windows-release-arm64OK493
windows-release-x86_64OK402
windows-oldrel-x86_64OK457
wasm-releaseOK145

Exports:BARTLETTCDCOMPAREEFAefa_averageEFA_AVERAGEefa_bartlettefa_cdefa_compareefa_ekcefa_fitefa_groupefa_hullefa_kgcefa_kmoefa_mapefa_miefa_nestefa_parallelEFA_POOLEDefa_powerefa_procrustesefa_reliabilityefa_retainefa_schmid_leimanefa_scoresefa_screeefa_screenefa_simulateefa_smtEKCestimate_controlFACTOR_SCORESHULLKGCKMOMAPN_FACTORSNESTOMEGAPARALLELPROCRUSTESrotate_controlSCREESLSMT

Dependencies:backportscheckmatecliclueclustercodetoolscpp11digestfarverfuturefuture.applyggplot2globalsglueGPArotationgtableisobandlabelinglatticelifecyclelistenvmnormtnlmeparallellyprogressrpsychR6RColorBrewerRcppRcppArmadillorlangroptimS7scalesvctrsviridisLitewithr

EFA with ordinal and missing data
Ordinal Data | Screening Ordinal Data | Polychoric Correlations, DWLS, and Robust Standard Errors | Why Not Just Treat the Items as Continuous? | Missing Data | Two-Stage Full-Information Maximum Likelihood | Multiple Imputation with efa_mi() | Ordinal and Missing Data | The Effective Sample of a Polychoric DWLS Fit | Keeping Both the Ordinal Treatment and the Cases | Where to Next

Last update: 2026-08-20
Started: 2026-07-19

EFAtools
Screening the Data | Deciding How Many Factors to Retain | Calling Individual Criteria | Running Several Criteria at Once with efa_retain() | Extracting Factors with efa_fit() | Comparing Solutions with efa_compare() | Averaging Across Analytic Choices with efa_average() | Factor Scores with efa_scores() | Schmid-Leiman Transformation and McDonald's Omegas | Schmid-Leiman Transformation | McDonald's Omegas | Where to Next

Last update: 2026-08-20
Started: 2020-06-22

Migrating to the efa_* interface
Why the efa_* Interface | The Old-to-New Mapping | Migrating from EFA() to efa_fit() | What the type Presets Replicate | Returned Objects Keep Their Legacy Classes | Where to Next

Last update: 2026-08-20
Started: 2026-07-19

Readme and manuals

Help Manual

Help pageTopics
Bartlett's test of sphericityBARTLETT
Comparison dataCD
Compare two vectors or matrices (communalities or loadings)COMPARE
DOSPERTDOSPERT
DOSPERT_rawDOSPERT_raw
Exploratory factor analysis (EFA)EFA
Model averaging across different EFA estimators and typesefa_average
Model averaging across different EFA methods and typesEFA_AVERAGE
Bartlett's test of sphericityefa_bartlett
Comparison dataefa_cd
Compare two vectors or matrices (communalities or loadings)efa_compare
Empirical Kaiser criterionefa_ekc
Exploratory factor analysis (EFA)efa_fit
Multigroup exploratory factor analysisefa_group
Hull method for determining the number of factors to retainefa_hull
Kaiser-Guttman criterionefa_kgc
Kaiser-Meyer-Olkin criterionefa_kmo
Velicer's minimum average partial (MAP) criterionefa_map
Exploratory factor analysis on multiple data imputationsefa_mi
Next eigenvalue sufficiency test (NEST)efa_nest
Parallel analysisefa_parallel
Exploratory factor analysis on multiple data imputationsEFA_POOLED
Power analysis for exploratory factor analysisefa_power
Rotate a loading matrix to a target using Procrustes alignmentefa_procrustes
Reliability and common-variance coefficients for a factor solutionefa_reliability
Various factor retention criteriaefa_retain
Schmid-Leiman transformationefa_schmid_leiman
Estimate factor scores and score-quality diagnostics for an EFA modelefa_scores
Scree plotefa_scree
Screen data for exploratory factor analysisefa_screen
Simulate data from a common-factor population modelefa_simulate
Sequential chi square model tests, RMSEA lower bound, and AICefa_smt
Empirical Kaiser criterionEKC
Control objects for estimation and rotation settingsestimate_control rotate_control
Estimate factor scores for an EFA modelFACTOR_SCORES
Format method for efa_retain objectsformat.efa_retain
Format method for efa_retention objectsformat.efa_retention
GRiPS_rawGRiPS_raw
Hull methodHULL
Intelligence subtests from the Intelligence and Development Scales-2IDS2_R
Kaiser-Guttman criterionKGC
Kaiser-Meyer-Olkin criterionKMO
Minimum average partialMAP
Various factor retention criteriaN_FACTORS
Next eigenvalue sufficiency testNEST
McDonald's omegaOMEGA
Parallel analysisPARALLEL
Plot efa_average objectplot.efa_average
Plot efa_compare objectplot.efa_compare
Plot a multigroup factor analysisplot.efa_group
Plot the RMSEA power curveplot.efa_power
Plot method for efa_retain objectsplot.efa_retain
Plot method for efa_retention objectsplot.efa_retention
population_modelspopulation_models
Print and summarise an efa objectformat.efa format.efa_mi format.summary.efa print.efa print.efa_mi print.summary.efa summary.efa summary.efa_mi
Print and format an efa_average objectformat.efa_average print.efa_average
Print and format an efa_bartlett objectformat.efa_bartlett print.efa_bartlett
Print and format an efa_compare objectformat.efa_compare print.efa_compare
Print and format a control objectformat.efa_estimate_control format.efa_rotate_control print.efa_control print.efa_estimate_control print.efa_rotate_control
Print and format a multigroup factor analysisformat.efa_group print.efa_group
Print and format an efa_kmo objectformat.efa_kmo print.efa_kmo
Print a loading matrixformat.efa_loadings print.efa_loadings
Print and format an efa_power objectformat.efa_power print.efa_power
Print and format a reliability objectformat.efa_reliability print.efa_reliability
Print method for efa_retain objectsprint.efa_retain
Print method for efa_retention objectsprint.efa_retention
Print and format an efa_schmid_leiman objectformat.efa_schmid_leiman print.efa_schmid_leiman
Print and format an efa_scores objectformat.efa_scores format.summary.efa_scores print.efa_scores print.summary.efa_scores summary.efa_scores
Print and format an efa_screen objectformat.efa_screen print.efa_screen
Print and format an efa_simulated objectformat.efa_simulated print.efa_simulated
Print an efa_sl_loadings objectformat.efa_sl_loadings print.efa_sl_loadings
Print and format an OMEGA objectformat.OMEGA print.OMEGA
Rotate a loading matrix to a target using Procrustes alignmentPROCRUSTES
Extract residuals from an efa objectresiduals.efa
RiskDimensionsRiskDimensions
Scree plotSCREE
Schmid-Leiman transformationSL
Sequential model testsSMT
Various outputs from SPSS (version 23) FACTORSPSS_23
Various outputs from SPSS (version 27) FACTORSPSS_27
Four test models used in Grieder and Steiner (2022)test_models
UPPS_rawUPPS_raw
Woodcock Johnson IV: ages 14 to 19WJIV_ages_14_19
Woodcock Johnson IV: ages 20 to 39WJIV_ages_20_39
Woodcock Johnson IV: ages 3 to 5WJIV_ages_3_5
Woodcock Johnson IV: ages 40 to 90 plusWJIV_ages_40_90
Woodcock Johnson IV: ages 6 to 8WJIV_ages_6_8
Woodcock Johnson IV: ages 9 to 13WJIV_ages_9_13