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)
#> ULS1 ULS2
#> A1 0.079554169 -0.40549069
#> A2 0.006997768 0.67731413
#> A3 -0.028283712 0.75951938
#> A4 0.144929848 0.43871781
#> A5 0.027453135 0.60237324
#> C1 0.570727318 -0.06069240
#> C2 0.636805972 -0.01326282
#> C3 0.541558551 0.03162627
#> C4 -0.649199561 -0.00367440
#> C5 -0.561775361 -0.05795960
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.99
#>
#> $SFI
#> ULS1 ULS2
#> 0.984 0.995
#>
#> $IFS
#> Items IFS
#> 1 C1 0.989
#> 2 C2 1.000
#> 3 C3 0.997
#> 4 C4 1.000
#> 5 C5 0.989
#> 6 A1 0.962
#> 7 A2 1.000
#> 8 A3 0.999
#> 9 A4 0.891
#> 10 A5 0.998This 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.