Skip to content

Method | Exploratory Factor Analysis

Posted on:January 1, 2024

Table of contents

Brief introduction

Exploratory factor analysis

A simple example

library(psych)
library(REdaS)

We aim to identify the optimal number of factors (1 or not) that can be extracted from three items related to welfare attitudes:

factor-analysis-1

First, compute KMO and do Bartletts test of spherecity:

# KMO值为0.68,大于0.6,说明适合进行进一步的因子分析
bart_spher(sub_df)   # produces Bartletts test of spherecity (you want this to be significant)
KMO(sub_df)          # kaiser-Meyer-olkin measure, you want to be above 0.6
	Bartlett's Test of Sphericity
Call: bart_spher(x = sub_df)
	X2 = 11525.863
	df = 3
p-value < 2.22e-16

Kaiser-Meyer-Olkin factor adequacy
Call: KMO(r = sub_df)
Overall MSA =  0.68
MSA for each item =
wel_att_1 wel_att_2 wel_att_3
	0.81      0.63      0.64

Second, do factor analysis:

# do not use specific rotation
# because our objective is not to interpret the loadings
fa(sub_df, nfactors = 3, rotate = "none")
Factor Analysis using method =  minres
Call: fa(r = sub_df, nfactors = 3, rotate = "none")
Standardized loadings (pattern matrix) based upon correlation matrix
		   MR1   MR2 MR3   h2   u2 com
wel_att_1 0.61  0.09   0 0.38 0.62   1
wel_att_2 0.86  0.00   0 0.74 0.26   1
wel_att_3 0.83 -0.07   0 0.69 0.31   1

					   MR1  MR2 MR3
SS loadings           1.79 0.01 0.0                    (← here)
Proportion Var        0.60 0.00 0.0
Cumulative Var        0.60 0.60 0.6
Proportion Explained  0.99 0.01 0.0                    (← here)
Cumulative Proportion 0.99 1.00 1.0

Mean item complexity =  1
Test of the hypothesis that 3 factors are sufficient.

df null model =  3  with the objective function =  1.07 with Chi Square =  11525.86
df of  the model are -3  and the objective function was  0

The root mean square of the residuals (RMSR) is  0
The df corrected root mean square of the residuals is  NA

The harmonic n.obs is  10808 with the empirical chi square  0  with prob <  NA
The total n.obs was  10808  with Likelihood Chi Square =  0  with prob <  NA

Tucker Lewis Index of factoring reliability =  1
Fit based upon off diagonal values = 1
Measures of factor score adequacy
												   MR1   MR2 MR3
Correlation of (regression) scores with factors   0.92  0.17   0
Multiple R square of scores with factors          0.85  0.03   0
Minimum correlation of possible factor scores     0.70 -0.95  -1

Third, interpret the results:

At last, we can use derived loadings to do data transformation:

r = fa(sub_df, nfactors = 1, rotate = "none", scores=TRUE)
r$scores
A matrix: 10808 × 1 of type dbl

MR1
0.6934161
0.6934161
-1.2634223
0.6934161
0.6934161
...

Reference