# Factor analysis of separate groups

Ex. 5.4 Everitt: Apply the factor analysis model separately to the life expectancies of men and women and compare the results

Here some code and output

library(data.table)
life_M <- life[,c(1,2,3,4,5)]
life_W <- life[,c(1,6,7,8,9)]
factanal(x=life[,-1],factors =3) #for both groups


The data is about life expectancies for different countries by age and gender.

Output for men group

Call:
factanal(x = life_M[, -1], factors = 1)

Uniquenesses:
m0   m25   m50   m75
0.594 0.552 0.005 0.434

Factor1
m0  0.638
m25 0.669
m50 0.998
m75 0.752

Factor1
Proportion Var   0.604

Test of the hypothesis that 1 factor is sufficient.
The chi square statistic is 14.45 on 2 degrees of freedom.
The p-value is 0.000728


Output for women group

Call:
factanal(x = life_W[, -1], factors = 1)

Uniquenesses:
w0   w25   w50   w75
0.220 0.005 0.115 0.526

Factor1
w0  0.883
w25 0.998
w50 0.941
w75 0.689

Factor1
Proportion Var   0.784

Test of the hypothesis that 1 factor is sufficient.
The chi square statistic is 52.15 on 2 degrees of freedom.
The p-value is 4.74e-12


Some points that I noticed:

(1) I can't use more than 1 factor for 4 variables with factanal and don't know why.

(2) In both cases the chi-square test says that 1 factor is not enough, but I can't use more than 1 based in (1).

(3) For the men group one factor explains 60.4% of variance structure and in women group 78.4%. In this case what I think is that one factor is sufficient for women group but not so good for men.

(4) For both group together 3 factors explain 88.9% of variance, what makes me think: What is the advantage of split the groups?

(5) Should not the number of factors be chosen based on the ratio of explained variance and the interpretability of the factors?

• For (1), I guess the problem is degrees of freedom: you can fit above models with fa function from psych package. When you do that, you will see in the output: The degrees of freedom for the model are -1 and the objective function was 0. Probably that is why factanal does not let you add another factor. Oct 8, 2017 at 17:52