--- title: "Example 2: Assessing Factor Simplicity from psych::fa() Output" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Example 2: Assessing Factor Simplicity from psych::fa() Output} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r setup, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) library(facomplex) library(lavaan) library(psych) if (!requireNamespace("psych", quietly = TRUE)) { knitr::opts_chunk$set(eval = FALSE) } if (!requireNamespace("lavaan", quietly = TRUE)) { knitr::opts_chunk$set(eval = FALSE) } ``` # Example 2: Assessing Factor Simplicity from `psych::fa()` Output This example demonstrates how to compute factor simplicity and complexity indices using loadings obtained from an exploratory factor analysis conducted via `psych::fa()`. ## Step 1: Load data from `psych` We use the `bfi` dataset available in the `psych` package. ```{r} data(bfi, package = "psych") ``` ## Step 2: Fit a 2-factor exploratory model We fit an EFA model with 2 factors using oblimin rotation and unweighted least squares (ULS) estimation. ```{r} fa.output <- psych::fa(bfi[, 1:10], nfactors = 2, rotate = "oblimin", fm = "uls") ``` ## Step 3: View and save the loading matrix We inspect the factor loadings and convert them to a standard data frame for analysis. ```{r} unclass(fa.output$loadings) fa.load <- as.data.frame(unclass(fa.output$loadings)) ``` ## Step 4: Compute complexity and simplicity indices We now use the `facomplex` package to compute various measures of factor simplicity and complexity. ### Hofmann Index ```{r} Hofmann(fa.load) ``` ### Bentler’s Simplicity Index ```{r} BSI(fa.load) ``` ### Kaiser-Cerny (KC) Criterion ```{r} KC(data = fa.load, b = 4) ``` ### Factor Simplicity Index (FSI) We define the target items for each factor to compute the total, factor-level, and item-level simplicity. ```{r} simload(data = fa.load, items_target = list( ULS1 = c(6,7,8,9,10), ULS2 = c(1,2,3,4,5) )) ``` ------------------------------------------------------------------------ This 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.