Factor analysis and principal components
Summarises many correlated items with a few components or factors. Offers principal components, principal axis factoring and maximum likelihood, with orthogonal or oblique rotation and factor scores.
Menu: Analyze → Dimension Reduction → Factor…
When should I use it?
- Do 20 questionnaire items measure a few underlying constructs?
- Can many correlated indicators be reduced to two or three scores?
What are the assumptions?
- Numeric items with linear relationships; at least 5–10 cases per item (150+ in total is a common target).
- Enough shared variance: KMO ≥ .6 and a significant Bartlett test.
- No extreme multicollinearity (determinant not near zero).
How do I run it in StatLab?
- Move the items to Variables.
- Choose the extraction method (principal components to summarise, principal axis or maximum likelihood to model latent factors).
- Keep eigenvalues > 1 or fix the number of factors (check the scree plot).
- Choose a rotation: varimax for uncorrelated factors, direct oblimin or promax when factors may correlate.
- Use 'Sorted by size' and suppress small coefficients (e.g. below .30) to read the loadings.
- Other extraction methods: unweighted least squares (minimises off-diagonal residuals), generalized least squares (weights variables by their uniqueness), alpha factoring (maximises reliability of the factors), image factoring (uses the part of each variable predicted by the others).
How do I read the output?
| Output | Meaning |
|---|---|
| KMO and Bartlett's Test | Sampling adequacy and whether the correlation matrix differs from identity. |
| Communalities | Share of each item's variance explained by the factors. |
| Total Variance Explained | Eigenvalues and the variance explained before and after rotation. |
| Component / Factor Matrix | Unrotated loadings. |
| Rotated Matrix or Pattern / Structure Matrix | Loadings used to name the factors; with oblique rotation read the pattern matrix and the factor correlation matrix. |
| Score Coefficient Matrix | Weights used to compute the saved factor scores. |
Worked example
On the practice survey dataset (File → Sample dataset), this command — which the dialog's Paste button also produces — runs the procedure:
PROC glmFactor /vars=(score age pre) /desc=NO /corr=NO /kmo=YES /anti=NO /repr=NO /extraction=pc /minEigen=1 /maxIter=25 /rotation=varimax /delta=0 /kappa=4 /scores='' /save=NO /sort=NO /suppress=0.
Output tables: KMO and Bartlett's Test · Communalities · Total Variance Explained · Component Matrix.
How would I report it in APA style?
A principal component analysis was run on 3 variables (N = 150). The Kaiser-Meyer-Olkin measure was .457 and Bartlett's test of sphericity was significant, χ²(3) = 42.22, p < .001. 1 component had eigenvalues above 1 and together explained 50.2% of the variance.
Computed by StatLab's validated procedure code when this page was built. The example only illustrates the steps; choose variables that fit your own research question.
What are common mistakes?
- Retaining factors only by the eigenvalue > 1 rule — also check the scree plot and interpretability.
- Using varimax when the constructs are clearly correlated.
- Treating principal components as latent factors.