Enables a conversion between Exploratory Factor Analysis (EFA) and Confirmatory Factor Analysis (CFA) lavaan-ready structure.

convert_efa_to_cfa(model, ...)

# S3 method for fa
convert_efa_to_cfa(model, threshold = "max", names = NULL, ...)

efa_to_cfa(model, ...)

Arguments

model

An EFA model (e.g., a psych::fa object).

...

Arguments passed to or from other methods.

threshold

A value between 0 and 1 indicates which (absolute) values from the loadings should be removed. An integer higher than 1 indicates the n strongest loadings to retain. Can also be "max", in which case it will only display the maximum loading per variable (the most simple structure).

names

Vector containing dimension names.

Value

Converted index.

Examples

# \donttest{
library(parameters)
if (require("psych") && require("lavaan")) {
  efa <- psych::fa(attitude, nfactors = 3)

  model1 <- efa_to_cfa(efa)
  model2 <- efa_to_cfa(efa, threshold = 0.3)

  anova(
    lavaan::cfa(model1, data = attitude),
    lavaan::cfa(model2, data = attitude)
  )
}
#> Loading required package: psych
#> Loading required package: lavaan
#> This is lavaan 0.6-9
#> lavaan is FREE software! Please report any bugs.
#> 
#> Attaching package: ‘lavaan’
#> The following object is masked from ‘package:psych’:
#> 
#>     cor2cov
#> Loading required namespace: GPArotation
#> Warning: lavaan WARNING: some estimated ov variances are negative
#> Chi-Squared Difference Test
#> 
#>                                      Df    AIC    BIC   Chisq Chisq diff
#> lavaan::cfa(model2, data = attitude) 10 1540.5 1565.7  9.1827           
#> lavaan::cfa(model1, data = attitude) 12 1549.8 1572.2 22.4374     13.255
#>                                      Df diff Pr(>Chisq)   
#> lavaan::cfa(model2, data = attitude)                      
#> lavaan::cfa(model1, data = attitude)       2   0.001324 **
#> ---
#> Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# }