psych::fa()
OutputThis example demonstrates how to compute factor simplicity and
complexity indices using loadings obtained from an exploratory factor
analysis conducted via psych::fa().
psychWe use the bfi dataset available in the
psych package.
We fit an EFA model with 2 factors using oblimin rotation and unweighted least squares (ULS) estimation.
We inspect the factor loadings and convert them to a standard data frame for analysis.
unclass(fa.output$loadings)
#> ULS2 ULS1
#> A1 0.079554317 -0.405491274
#> A2 0.006997858 0.677314053
#> A3 -0.028283698 0.759519562
#> A4 0.144930243 0.438716708
#> A5 0.027453266 0.602373014
#> C1 0.570728682 -0.060696669
#> C2 0.636807499 -0.013267586
#> C3 0.541559855 0.031622209
#> C4 -0.649201121 -0.003669539
#> C5 -0.561776717 -0.057955391
fa.load <- as.data.frame(unclass(fa.output$loadings))We now use the facomplex package to compute various
measures of factor simplicity and complexity.
We define the target items for each factor to compute the total, factor-level, and item-level simplicity.
simload(data = fa.load,
items_target = list(
ULS1 = c(6,7,8,9,10),
ULS2 = c(1,2,3,4,5)
))
#> $TSFI
#> [1] 0.01
#>
#> $SFI
#> ULS1 ULS2
#> 0.005 0.016
#>
#> $IFS
#> Items IFS
#> 1 C1 -87.416
#> 2 C2 -2302.735
#> 3 C3 -292.298
#> 4 C4 -31298.368
#> 5 C5 -92.959
#> 6 A1 -24.980
#> 7 A2 -9367.067
#> 8 A3 -720.117
#> 9 A4 -8.163
#> 10 A5 -480.441This example shows how to apply facomplex to factor
solutions derived from classical exploratory methods, making it an
accessible tool for researchers working with psych::fa()
and other traditional EFA approaches.