Understanding the sem() syntax

Factor Analysis in R

Jennifer Brussow

Psychometrician

Relationships between variables and factors

theory_syn
   Path      Parameter   StartValue
1  AGE-> A1  lam[A1:AGE]           
2  AGE-> A2  lam[A2:AGE]           
3  AGE-> A3  lam[A3:AGE]           
4  AGE-> A4  lam[A4:AGE]           
5  AGE-> A5  lam[A5:AGE]           
6  CON-> C1  lam[C1:CON]           
7  CON-> C2  lam[C2:CON]           
8  CON-> C3  lam[C3:CON]           
9  CON-> C4  lam[C4:CON]           
10 CON-> C5  lam[C5:CON]           
11 EXT-> E1  lam[E1:EXT]           
...
  1. Path: Relationships between factors and items
  2. Parameter: Automatically assigned names for each parameter
  3. Starting value: Blank means they will be randomly generated
Factor Analysis in R

Factor variances

theory_syn
   Path        Parameter   StartValue
26 AGE <-> AGE <fixed>     1         
27 CON <-> CON <fixed>     1         
28 EXT <-> EXT <fixed>     1         
29 NEU <-> NEU <fixed>     1         
30 OPE <-> OPE <fixed>     1         
Factor Analysis in R

Factor covariances

theory_syn
   Path        Parameter   StartValue
31 AGE <-> CON C[AGE,CON]            
32 AGE <-> EXT C[AGE,EXT]            
33 AGE <-> NEU C[AGE,NEU]            
34 AGE <-> OPE C[AGE,OPE]            
35 CON <-> EXT C[CON,EXT]            
36 CON <-> NEU C[CON,NEU]            
37 CON <-> OPE C[CON,OPE]            
38 EXT <-> NEU C[EXT,NEU]            
39 EXT <-> OPE C[EXT,OPE]            
40 NEU <-> OPE C[NEU,OPE]       
Factor Analysis in R

Item variances

theory_syn
   Path        Parameter   StartValue
41 A1 <-> A1   V[A1]                 
42 A2 <-> A2   V[A2]                 
43 A3 <-> A3   V[A3]                 
44 A4 <-> A4   V[A4]                 
45 A5 <-> A5   V[A5]                 
46 C1 <-> C1   V[C1]                 
47 C2 <-> C2   V[C2]                 
48 C3 <-> C3   V[C3]                 
49 C4 <-> C4   V[C4]                 
50 C5 <-> C5   V[C5]                 
51 E1 <-> E1   V[E1]                 
52 E2 <-> E2   V[E2]                 
...  
Factor Analysis in R

Running the CFA

Actually running the CFA is much easier than setting up the syntax!

#Use the sem() function to run a CFA
theory_CFA <- sem(theory_syn, data = bfi_CFA)
Factor Analysis in R
summary(theory_CFA)
 Model Chisquare =  2212.032   Df =  265 Pr(>Chisq) = 9.662018e-304
 AIC =  2332.032
 BIC =  326.618
 Normalized Residuals
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
-5.5800 -0.3732  1.0350  1.1220  2.4710  8.9000 

R-square for Endogenous Variables A1 A2 A3 A4 A5 C1 C2 C3 C4 0.1178 0.4475 0.5731 0.2994 0.4713 0.3006 0.3667 0.2947 0.4886 ...
Parameter Estimates Estimate Std Error z value Pr(>|z|) lam[A1:AGE] -0.5011716 0.04487184 -11.168956 5.785714e-29 A1 <--- AGE lam[A2:AGE] 0.8230960 0.03447831 23.872862 5.863008e-126 A2 <--- AGE ...
Factor Analysis in R

Let's practice!

Factor Analysis in R

Preparing Video For Download...