Skip to content

EFAtools

Fast and Flexible Implementations of Exploratory Factor Analysis Tools

v0.7.1 · May 8, 2026 · GPL-3

Description

Provides functions to perform exploratory factor analysis (EFA) procedures and compare their solutions. The goal is to provide state-of-the-art factor retention methods and a high degree of flexibility in the EFA procedures. This way, for example, implementations from R 'psych' and 'SPSS' can be compared. Moreover, functions for Schmid-Leiman transformation and the computation of omegas are provided. To speed up the analyses, some of the iterative procedures, like principal axis factoring (PAF), are implemented in C++.

Downloads

1.9K

Last 30 days

2833rd

5.6K

Last 90 days

21.4K

Last year

Trend: -15.4% (30d vs prior 30d)

CRAN Check Status

9 ERROR
4 OK
Show all 13 flavors
Flavor Status
r-devel-linux-x86_64-debian-clang ERROR
r-devel-linux-x86_64-debian-gcc ERROR
r-devel-linux-x86_64-fedora-clang ERROR
r-devel-linux-x86_64-fedora-gcc ERROR
r-devel-windows-x86_64 ERROR
r-oldrel-macos-arm64 OK
r-oldrel-macos-x86_64 OK
r-oldrel-windows-x86_64 ERROR
r-patched-linux-x86_64 ERROR
r-release-linux-x86_64 ERROR
r-release-macos-arm64 OK
r-release-macos-x86_64 OK
r-release-windows-x86_64 ERROR
Check details (11 non-OK)
ERROR r-devel-linux-x86_64-debian-clang

tests

Running ‘testthat.R’ [191s/238s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > library(testthat)
  > library(EFAtools)
  > 
  > test_check("EFAtools")
  Saving _problems/test-PROCRUSTES-24.R
  [ FAIL 1 | WARN 0 | SKIP 0 | PASS 2285 ]
  
  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Failure ('test-PROCRUSTES.R:20:3'): PROCRUSTES matches psych::Procrustes and GPArotation::targetQ outputs ──
  Expected `GPArotation::targetQ(unrot_loadings[[2]], Target = rot_loadings[[1]])$loadings` to be equivalent to `PROCRUSTES(unrot_loadings[[2]], rot_loadings[[1]], rotation = "oblique")$loadings`.
  target is loadings, current is matrix
  
  [ FAIL 1 | WARN 0 | SKIP 0 | PASS 2285 ]
  Error:
  ! Test failures.
  Execution halted
ERROR r-devel-linux-x86_64-debian-gcc

tests

Running ‘testthat.R’ [113s/141s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > library(testthat)
  > library(EFAtools)
  > 
  > test_check("EFAtools")
  Saving _problems/test-PROCRUSTES-24.R
  [ FAIL 1 | WARN 0 | SKIP 0 | PASS 2285 ]
  
  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Failure ('test-PROCRUSTES.R:20:3'): PROCRUSTES matches psych::Procrustes and GPArotation::targetQ outputs ──
  Expected `GPArotation::targetQ(unrot_loadings[[2]], Target = rot_loadings[[1]])$loadings` to be equivalent to `PROCRUSTES(unrot_loadings[[2]], rot_loadings[[1]], rotation = "oblique")$loadings`.
  target is loadings, current is matrix
  
  [ FAIL 1 | WARN 0 | SKIP 0 | PASS 2285 ]
  Error:
  ! Test failures.
  Execution halted
NOTE r-devel-linux-x86_64-fedora-clang

dependencies in R code

Namespace in Imports field not imported from: ‘progress’
  All declared Imports should be used.
ERROR r-devel-linux-x86_64-fedora-clang

tests

Running ‘testthat.R’ [5m/19m]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > library(testthat)
  > library(EFAtools)
  > 
  > test_check("EFAtools")
  Saving _problems/test-PROCRUSTES-24.R
  [ FAIL 1 | WARN 0 | SKIP 0 | PASS 2285 ]
  
  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Failure ('test-PROCRUSTES.R:20:3'): PROCRUSTES matches psych::Procrustes and GPArotation::targetQ outputs ──
  Expected `GPArotation::targetQ(unrot_loadings[[2]], Target = rot_loadings[[1]])$loadings` to be equivalent to `PROCRUSTES(unrot_loadings[[2]], rot_loadings[[1]], rotation = "oblique")$loadings`.
  target is loadings, current is matrix
  
  [ FAIL 1 | WARN 0 | SKIP 0 | PASS 2285 ]
  Error:
  ! Test failures.
  Execution halted
NOTE r-devel-linux-x86_64-fedora-gcc

dependencies in R code

Namespace in Imports field not imported from: ‘progress’
  All declared Imports should be used.
ERROR r-devel-linux-x86_64-fedora-gcc

tests

Running ‘testthat.R’ [298s/370s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > library(testthat)
  > library(EFAtools)
  > 
  > test_check("EFAtools")
  Saving _problems/test-PROCRUSTES-24.R
  [ FAIL 1 | WARN 0 | SKIP 0 | PASS 2285 ]
  
  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Failure ('test-PROCRUSTES.R:20:3'): PROCRUSTES matches psych::Procrustes and GPArotation::targetQ outputs ──
  Expected `GPArotation::targetQ(unrot_loadings[[2]], Target = rot_loadings[[1]])$loadings` to be equivalent to `PROCRUSTES(unrot_loadings[[2]], rot_loadings[[1]], rotation = "oblique")$loadings`.
  target is loadings, current is matrix
  
  [ FAIL 1 | WARN 0 | SKIP 0 | PASS 2285 ]
  Error:
  ! Test failures.
  Execution halted
ERROR r-devel-windows-x86_64

tests

Running 'testthat.R' [165s]
Running the tests in 'tests/testthat.R' failed.
Complete output:
  > library(testthat)
  > library(EFAtools)
  > 
  > test_check("EFAtools")
  Saving _problems/test-PROCRUSTES-24.R
  [ FAIL 1 | WARN 0 | SKIP 0 | PASS 2285 ]
  
  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Failure ('test-PROCRUSTES.R:20:3'): PROCRUSTES matches psych::Procrustes and GPArotation::targetQ outputs ──
  Expected `GPArotation::targetQ(unrot_loadings[[2]], Target = rot_loadings[[1]])$loadings` to be equivalent to `PROCRUSTES(unrot_loadings[[2]], rot_loadings[[1]], rotation = "oblique")$loadings`.
  target is loadings, current is matrix
  
  [ FAIL 1 | WARN 0 | SKIP 0 | PASS 2285 ]
  Error:
  ! Test failures.
  Execution halted
ERROR r-oldrel-windows-x86_64

tests

Running 'testthat.R' [245s]
Running the tests in 'tests/testthat.R' failed.
Complete output:
  > library(testthat)
  > library(EFAtools)
  > 
  > test_check("EFAtools")
  Saving _problems/test-PROCRUSTES-24.R
  [ FAIL 1 | WARN 0 | SKIP 0 | PASS 2285 ]
  
  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Failure ('test-PROCRUSTES.R:20:3'): PROCRUSTES matches psych::Procrustes and GPArotation::targetQ outputs ──
  Expected `GPArotation::targetQ(unrot_loadings[[2]], Target = rot_loadings[[1]])$loadings` to be equivalent to `PROCRUSTES(unrot_loadings[[2]], rot_loadings[[1]], rotation = "oblique")$loadings`.
  target is loadings, current is matrix
  
  [ FAIL 1 | WARN 0 | SKIP 0 | PASS 2285 ]
  Error:
  ! Test failures.
  Execution halted
ERROR r-patched-linux-x86_64

tests

Running ‘testthat.R’ [181s/220s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > library(testthat)
  > library(EFAtools)
  > 
  > test_check("EFAtools")
  Saving _problems/test-PROCRUSTES-24.R
  [ FAIL 1 | WARN 0 | SKIP 0 | PASS 2285 ]
  
  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Failure ('test-PROCRUSTES.R:20:3'): PROCRUSTES matches psych::Procrustes and GPArotation::targetQ outputs ──
  Expected `GPArotation::targetQ(unrot_loadings[[2]], Target = rot_loadings[[1]])$loadings` to be equivalent to `PROCRUSTES(unrot_loadings[[2]], rot_loadings[[1]], rotation = "oblique")$loadings`.
  target is loadings, current is matrix
  
  [ FAIL 1 | WARN 0 | SKIP 0 | PASS 2285 ]
  Error:
  ! Test failures.
  Execution halted
ERROR r-release-linux-x86_64

tests

Running ‘testthat.R’ [184s/255s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > library(testthat)
  > library(EFAtools)
  > 
  > test_check("EFAtools")
  Saving _problems/test-PROCRUSTES-24.R
  [ FAIL 1 | WARN 0 | SKIP 0 | PASS 2285 ]
  
  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Failure ('test-PROCRUSTES.R:20:3'): PROCRUSTES matches psych::Procrustes and GPArotation::targetQ outputs ──
  Expected `GPArotation::targetQ(unrot_loadings[[2]], Target = rot_loadings[[1]])$loadings` to be equivalent to `PROCRUSTES(unrot_loadings[[2]], rot_loadings[[1]], rotation = "oblique")$loadings`.
  target is loadings, current is matrix
  
  [ FAIL 1 | WARN 0 | SKIP 0 | PASS 2285 ]
  Error:
  ! Test failures.
  Execution halted
ERROR r-release-windows-x86_64

tests

Running 'testthat.R' [171s]
Running the tests in 'tests/testthat.R' failed.
Complete output:
  > library(testthat)
  > library(EFAtools)
  > 
  > test_check("EFAtools")
  Saving _problems/test-PROCRUSTES-24.R
  [ FAIL 1 | WARN 0 | SKIP 0 | PASS 2285 ]
  
  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Failure ('test-PROCRUSTES.R:20:3'): PROCRUSTES matches psych::Procrustes and GPArotation::targetQ outputs ──
  Expected `GPArotation::targetQ(unrot_loadings[[2]], Target = rot_loadings[[1]])$loadings` to be equivalent to `PROCRUSTES(unrot_loadings[[2]], rot_loadings[[1]], rotation = "oblique")$loadings`.
  target is loadings, current is matrix
  
  [ FAIL 1 | WARN 0 | SKIP 0 | PASS 2285 ]
  Error:
  ! Test failures.
  Execution halted

Check History

ERROR 11 OK · 1 NOTE · 0 WARNING · 1 ERROR · 0 FAILURE Jun 18, 2026
NOTE r-devel-linux-x86_64-fedora-clang

dependencies in R code

Namespace in Imports field not imported from: ‘progress’
  All declared Imports should be used.
ERROR r-devel-linux-x86_64-fedora-gcc

dependencies in R code

Namespace in Imports field not imported from: ‘progress’
  All declared Imports should be used.
NOTE 12 OK · 2 NOTE · 0 WARNING · 0 ERROR · 0 FAILURE Apr 22, 2026
NOTE r-devel-linux-x86_64-fedora-clang

dependencies in R code

Namespace in Imports field not imported from: ‘progress’
  All declared Imports should be used.
NOTE r-devel-linux-x86_64-fedora-gcc

dependencies in R code

Namespace in Imports field not imported from: ‘progress’
  All declared Imports should be used.
ERROR 11 OK · 2 NOTE · 0 WARNING · 1 ERROR · 0 FAILURE Apr 18, 2026
NOTE r-devel-linux-x86_64-fedora-clang

dependencies in R code

Namespace in Imports field not imported from: ‘progress’
  All declared Imports should be used.
NOTE r-devel-linux-x86_64-fedora-gcc

dependencies in R code

Namespace in Imports field not imported from: ‘progress’
  All declared Imports should be used.
ERROR r-devel-windows-x86_64

whether package can be installed

Installation failed.
See 'd:/Rcompile/CRANpkg/local/4.6/EFAtools.Rcheck/00install.out' for details.
NOTE 12 OK · 2 NOTE · 0 WARNING · 0 ERROR · 0 FAILURE Mar 10, 2026
NOTE r-devel-linux-x86_64-fedora-clang

dependencies in R code

Namespace in Imports field not imported from: ‘progress’
  All declared Imports should be used.
NOTE r-devel-linux-x86_64-fedora-gcc

dependencies in R code

Namespace in Imports field not imported from: ‘progress’
  All declared Imports should be used.

Reverse Dependencies (3)

suggests

Dependency Network

Dependencies Reverse dependencies lavaan psych crayon stringr ggplot2 tibble magrittr dplyr cli Rcpp viridisLite future.apply future GPArotation checkmate +5 more dependencies EFA.dimensions FAfA semanticfa EFAtools

Version History

18 tracked
updated 0.7.1 ← 0.7.0 diff May 8, 2026
updated 0.7.0 ← 0.6.1 diff Apr 30, 2026
new 0.6.1 Mar 10, 2026
updated 0.6.1 ← 0.6.0 diff Jul 29, 2025
updated 0.6.0 ← 0.5.0 diff Jun 18, 2025
updated 0.5.0 ← 0.4.6 diff May 22, 2025
updated 0.4.6 ← 0.4.5 diff Mar 20, 2025
updated 0.4.5 ← 0.4.4 diff Dec 21, 2024
updated 0.4.4 ← 0.4.3 diff Jan 5, 2023
updated 0.4.3 ← 0.4.2 diff Oct 1, 2022
updated 0.4.2 ← 0.4.1 diff Sep 26, 2022
updated 0.4.1 ← 0.4.0 diff Apr 23, 2022
updated 0.4.0 ← 0.3.1 diff Mar 20, 2022
updated 0.3.1 ← 0.3.0 diff Mar 26, 2021
updated 0.3.0 ← 0.2.0 diff Nov 3, 2020