Automatically find referent items for ESEM
find_referents.Rd
Automatically find referent items for ESEM
Arguments
- efa_object
A psych::fa() object with the results of a exploratory factor analysis. Referents will be selected based on the factor loadings in this solution.
- factor_names
Character vector. The names should identify the factors in the
efa_object
. They must be in the same order they appear in theefa_object
.
Value
A named list in the format c(FactorName = referent)
, in the same order as the given
factor names.
Details
Given an exploratory factor analysis results, this function finds a referent item for each factor and outputs a list to be used in syntax_composer.
The automatic selection currently does not choose the referents with the recommended approach
in the literature, that is, items that load heavily on one factor and lightly on all the others.
In its current implementation, the items are chosen solely based on their highest loadings.
This may lead to less than ideal referent selection in some situations. It is recommended to always
compare the resulting referents with the items one would choose when inspecting the exploratory
solution loadings (usually with loadings(efa_object)
). In fact, the user should always check
loadings(efa_object)
before calling the function to be able to specify factor_names
correctly.
Examples
# use Holzinger and Swineford (1939) dataset in lavaan package
hw_data <- lavaan::HolzingerSwineford1939
hw_data <- hw_data[,c(7:15)]
#make exploratory analysis with geomin rotation
geomin_efa <- esem_efa(hw_data,3)
# check the order of factors in the efa solution
loadings(geomin_efa)
#>
#> Loadings:
#> PA1 PA3 PA2
#> x1 0.193 0.595
#> x2 0.509 -0.124
#> x3 0.688
#> x4 0.845
#> x5 0.884
#> x6 0.804
#> x7 -0.137 0.731
#> x8 0.137 0.688
#> x9 0.391 0.455
#>
#> PA1 PA3 PA2
#> SS loadings 2.187 1.287 1.232
#> Proportion Var 0.243 0.143 0.137
#> Cumulative Var 0.243 0.386 0.523
#find referents with factors in the order checked above
find_referents(geomin_efa, c("textual", "visual", "speed"))
#> $textual
#> [1] "x5"
#>
#> $visual
#> [1] "x3"
#>
#> $speed
#> [1] "x7"
#>
#In this particular case, automatic selection chooses
#the same items one would choose manually. For comparison:
loadings(geomin_efa)
#>
#> Loadings:
#> PA1 PA3 PA2
#> x1 0.193 0.595
#> x2 0.509 -0.124
#> x3 0.688
#> x4 0.845
#> x5 0.884
#> x6 0.804
#> x7 -0.137 0.731
#> x8 0.137 0.688
#> x9 0.391 0.455
#>
#> PA1 PA3 PA2
#> SS loadings 2.187 1.287 1.232
#> Proportion Var 0.243 0.143 0.137
#> Cumulative Var 0.243 0.386 0.523