Factor Analysis in R
Jennifer Brussow
Psychometrician
EFA:
CFA:
# View the first five rows of the EFA loadings
EFA_model$loadings[1:5,]
MR2 MR1 MR3 MR5 MR4
A1 0.24282081 -0.15387946 0.0780303740 -0.3897470 -0.08461786
A2 -0.02320759 0.01798410 0.0679900414 0.6584172 -0.01095097
A3 -0.05917275 -0.12693134 0.0238309309 0.6154942 0.05036830
A4 -0.03852599 -0.08709392 0.1936172346 0.4005924 -0.17361760
A5 -0.13355262 -0.23429925 0.0001429341 0.5075002 0.07523716
# View the first five loadings from the CFA estimated from the EFA results
summary(EFA_CFA)$coeff[1:5,]
Estimate Std Error z value Pr(>|z|)
F4A1 -0.5038817 0.04497739 -11.20300 3.941591e-29 A1 <--- MR5
F4A2 0.8207622 0.03465055 23.68684 4.927422e-124 A2 <--- MR5
F4A3 1.0360812 0.03700471 27.99863 1.688392e-172 A3 <--- MR5
F4A4 0.8264718 0.04471746 18.48208 2.878650e-76 A4 <--- MR5
F4A5 0.9012645 0.03688629 24.43359 7.520155e-132 A5 <--- MR5
# View the first five loadings from the CFA estimated from the EFA results
summary(EFA_CFA)$coeff[1:5, ]
Estimate Std Error z value Pr(>|z|)
F4A1 -0.5038817 0.04497739 -11.20300 3.941591e-29 A1 <--- MR5
# View the first five rows of the EFA loadings
EFA_model$loadings[1:5, ]
MR2 MR1 MR3 MR5 MR4
A1 -0.3897470
# Extracting factor scores from the EFA model
EFA_scores <- EFA_model$scores
# Calculate factor scores for the EFA dataset
CFA_scores <- fscores(EFA_CFA, data = bfi_EFA)
plot(density(EFA_scores[,1], na.rm = TRUE),
xlim = c(-3, 3), ylim = c(0, 1), col = "blue")
lines(density(CFA_scores[,1], na.rm = TRUE),
xlim = c(-3, 3), ylim = c(0, 1), col = "red")
Factor Analysis in R