Automated Item Removal Strategies for Exploratory Factor Analysis
Overview
Identifies candidate item sets through threshold-driven iterative removal searches in exploratory factor analysis. Provides a no-removal baseline, numerical diagnostics, factor reliability, holdout evaluation, and bootstrap search stability to support transparent screening and documented content review rather than automatic measurement decisions. The loading criteria are based on best practices and established heuristics (e.g., Costello & Osborne (2005) doi:10.7275/jyj1-4868, Howard (2016) doi:10.1080/10447318.2015.1087664). Includes flexible thresholds for factor loadings (min_loading) and cross-loading differences (loading_diff).
- Record informational estimator messages without disqualifying candidates. Silently preload GPArotation for rotations and restrict message-driven review to explicit convergence, rotation, variance, and matrix-repair problems.
- Scope validation correlations to requested item sets and isolate constant-item failures. Suppress diagnostic variable tables printed on correlation errors.
- Record source correlation warnings/messages once per analysis, rather than attributing them to every subset. Detect identical validation response values after row reordering; retain order-sensitive bootstrap input checks.
- Label unassessed whole-set alpha as Not_assessed and remove unused combination generation, sorting helpers, and the obsolete internal combs argument.
- Validate extraction and rotation names before analysis, canonicalize supported capitalization, and declare the default rotation's GPArotation dependency. Record estimator messages and flag reported nonconvergence.
Show all changes in 1.0.0Hide the rest of the changes in 1.0.0
- Label Howard primary loadings below .40 as low loadings, and match holdout factors and signs using linear assignment rather than factorial enumeration. Add Min_Congruence and scaled CFA fit indices.
- Fingerprint numeric values and item names independently of row names and integer/double storage. Explain that protected flagged items can prevent candidate solutions and that unknown convergence remains Not_reported.
- Keep fa parallel analysis as default and add parallel_method = "pc". Ordinal reference samples preserve observed category margins and missing positions and use the same mixed/polychoric correlation estimator as the observed data. Add configurable ordinal_categories, excluding NA from category counts.
- Add bootstrap frequencies across all attempts as a conservative sensitivity summary, predraw replicate rows and seeds, and provide a progress bar.
- Label whole-set alpha as descriptive in multifactor models; factor-specific reliability remains available. Store compact EFA results by default, with store_fits = TRUE for full psych fit objects.
- Compute the original correlation matrix and pairwise observation counts once per dataset and reuse submatrices in parallel analysis and removal searches. Check positive definiteness and apply requested smoothing per retained set. Validation EFA uses its own matrix; each bootstrap replicate uses a new matrix. Expose correlation_matrix and pairwise_n in discovery results.
- Replace the single optimal_strategy field with all screened candidate_solutions. Candidate reporting is the default; report = "optimal" is a deprecated alias.
- Reassess remaining items after removal, cache identical item sets, retain the no-removal baseline, and label bounded searches as incomplete.
- Add numerical admissibility, correlation positive-definiteness and explicit smoothing, convergence status, factor correlations, factor support, warnings, and branch-specific failure records. Unidentified subsets are skipped.
- Add explicit missing-data handling, effective pair counts, parameter checks, protected items, content notes, and scoring keys.
- Default ordering is discovery order; optional removal-count/variance ordering never selects a winner. Oblique explained variance uses mean model communality.
- Add factor-level alpha and model omega total, with separate raw, standardized, and selected-correlation alpha labels. Preserve signed loading ranges and add absolute ranges. Capture Howard failures below the secondary .30 threshold.
- Add holdout EFA, optional lavaan CFA, disjoint sample splitting, and bootstrap stability of the entire search with explicit failure/incompleteness denominators.
- Add DDMMYYYY date-based default seeds (e.g. label 05102026 / seed 5102026), caller RNG restoration, configurable parallel-analysis replications, and recorded settings and software provenance.
- Provide a reproducible simulated vignette and complete executable workflow.
- Restore "Let algorithms be your compass, not your captain." as the final line of every printed analysis summary.
From NEWS.md in the release
Install
Health
- OK13 OK2026-08-05
- NOTE12 OK, 1 NOTE2026-08-01
- OK13 OK2026-06-09
- ERROR12 OK, 1 ERROR2026-06-08
- OK14 OK2026-03-10
Documentation
- Help pages
- 12 (7 internal)
- Examples that run
- 50%1 run in a plain check · 1 only when donttest examples are enabled (R CMD check --as-cran)
- Exported functions with examples
- 50%
- Documented parameters
- 100%
- Return-value docs
- 100%
- Help pages citing references
- 0%
Downloads
Repository
5 development-tooling and community-health practices detected across 4 families in the upstream repository
Checks run against github.com/ahmetcaliskan1987/itemrest on 2026-10-11.
Dependencies
Installing ItemRest adds 73 packages (40 with compiled code, 65 MB of source tarballs). Heaviest: stringi 11 MB, ggplot2 6.0 MB, data.table 5.7 MB.
Code & Tests
People & History
Package metadata
- First published
- 2025-10-09
- Total releases
- 4 / 1 yrs
- License
- MIT + file LICENSE OSI
- Minimum R
- ≥ 4.1
- Download size
- 54 KB
Cite
Cite this package
Run in R for the authors' preferred citation:
citation("ItemRest")This package has no citation file, so citation() returns this entry built from DESCRIPTION.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-18, which the citation names so these numbers can be found later. More on citing and the projects behind them.