Solved – What do empty (missing) values in the output of PCA or factor analysis mean in R

factor analysispcar

I am doing factor analysis with factanal in R and observe empty spaces in the loadings table:

factanal(x = ~V1 + V2 + V3 + V4 + V5, factors = 2, data = airfoil_self_noise)

Uniquenesses:
   V1    V2    V3    V4    V5 
0.898 0.005 0.005 0.995 0.394 

Loadings:
   Factor1 Factor2
V1 -0.319         
V2  0.877  -0.474 
V3          0.997 
V4                
V5  0.754  -0.194 

Here, I have no idea what empty space means in Factor1-V3, Factor1-V4, Factor2-V1, and Factor2-V4. Weren't they supposed to be filled with some numbers, like with 0?

The same sometimes happens in PCA using principal function.

Best Answer

From the R documentation on factanal:

The print method (documented under loadings) follows the factor analysis convention of drawing attention to the patterns of the results, so the default precision is three decimal places, and small loadings are suppressed.

From the R documentation on loadings:

Small loadings are conventionally not printed (replaced by spaces), to draw the eye to the pattern of the larger loadings.

The default value of cutoff ("loadings smaller than this (in absolute value) are suppressed") is .1, so you can infer that the absolute values in those spaces are $<0.1$.

If you want exact values, you can wrap your factanal() function in print(...,cutoff=0).

Related Question