Factor Analysis in R
Jennifer Brussow
Psychometrician
Remember:
Two promising item/factor relationships to add:
summary(theory_CFA)
...
Parameter Estimates
Estimate Std Error z value Pr(>|z|)
C[EXT,NEU] 0.2362614 0.03364096 7.023029 2.171093e-12 NEU <--> EXT
...
# Add some plausible item/factor loadings to the syntax theory_syn_add <- " AGE: A1, A2, A3, A4, A5 CON: C1, C2, C3, C4, C5 EXT: E1, E2, E3, E4, E5, N4 NEU: N1, N2, N3, N4, N5, E3 OPE: O1, O2, O3, O4, O5 "
# As before, convert your equations to sem-compatible syntax theory_syn2 <- cfa(text = theory_syn_add, reference.indicators = FALSE)
# Run a CFA with the revised syntax theory_CFA_add <- sem(model = theory_syn2, data = bfi_CFA)
# Conduct a likelihood ratio test
anova(theory_CFA, theory_CFA_add)
LR Test for Difference Between Models
Model Df Model Chisq Df LR Chisq Pr(>Chisq)
theory_CFA 265 2212.0
theory_CFA_rev 263 2097.8 2 114.28 < 2.2e-16 ***
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Compare the comparative fit indices - higher is better!
summary(theory_CFA)$CFI
0.785075
summary(theory_CFA_add)$CFI
0.7974694
# Compare the RMSEA values - lower is better!
summary(theory_CFA)$RMSEA
0.07731925 NA NA 0.90
summary(theory_CFA_add)$RMSEA
0.07534156 NA NA 0.90
Factor Analysis in R