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.079555911 -0.405492149
#> A2 0.006995423 0.677314802
#> A3 -0.028286487 0.759520586
#> A4 0.144928895 0.438716478
#> A5 0.027451135 0.602373572
#> C1 0.570729834 -0.060699645
#> C2 0.636808587 -0.013270843
#> C3 0.541560625 0.031619489
#> C4 -0.649202167 -0.003666238
#> C5 -0.561777425 -0.057952599
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.407
#> 2 C2 -2301.612
#> 3 C3 -292.349
#> 4 C4 -31354.854
#> 5 C5 -92.969
#> 6 A1 -24.979
#> 7 A2 -9373.610
#> 8 A3 -719.976
#> 9 A4 -8.163
#> 10 A5 -480.517This 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.