Last updated: 2026-02-14
kaefa is an R package for automated exploratory factor analysis (AEFA).
It provides:
- core AEFA execution (
aefa,engineAEFA), - optional remote worker initialization (
aefaInit), - an interactive Shiny UI (
launchAEFA).
R/kaefa.R: public orchestration entry points and exported runtime behavior.R/newEngine.R: candidate-model estimation engine used by the AEFA loop.R/utils.R: helper routines and shared utilities.inst/shiny-app/app.R: bundled Shiny interface logic.inst/shiny-app/README.md: Shiny usage and minimal UI configuration guide.tests/testthat/*.R: functional, regression, and integration tests..github/workflows/R-CMD-check.yaml: required multi-OS package checks..github/workflows/dependency-review.yml: dependency risk gate.README.Rmd->README.md: source and generated top-level documentation.
- User calls
aefa()or launcheslaunchAEFA(). aefa()coordinates iterative model search and candidate evaluation.engineAEFA()performs lower-level model estimation for each candidate.- Best model is selected by configured information criteria and returned.
- Optional history/diagnostics are exposed when enabled.
aefaInit()configures worker hosts and SSH key paths.- Remote usage is optional; local execution is the default path.
- Security-sensitive values (keys/tokens) must remain out of git history.
- PR merge requires review approval and resolved conversations.
- Required checks include R-CMD-check matrix and dependency review.
- If code scanning is enabled later, alerts can be tracked via GitHub code scanning APIs.
When architecture-level behavior changes (entry points, runtime flow, or CI gates), update this document in the same change set.