I'm trying to do a factor analysis on the data of my project and I encountered some problems. Any feedbacks or suggestions will be appreciated!
To be specific, the participants received prompts at unpredictable time intervals for 18 times. Every prompts contained questions about various aspects of the thoughts they were having right before the prompts, which included intentionality (binary), representative format (nominal), importance (Likert, 1-5), clarity (Likert, 1-4), importance (Likert, 1-5), etc.
I assumed some latent factors could explain the variance measured by the existing many-variable data. So I considered using factor analysis, instead of principle component analysis. Since factor analysis only apply to numeric variables, I only selected the variables that were measured by Likert scales (general emotion, clarity, objective valence, subjective reaction, judgemental, and importance), with summary:
GeneralEMT clear_MW MW_Valence MW_react MW_judge MW_import
Min. :1.000 Min. :1 Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
1st Qu.:2.000 1st Qu.:2 1st Qu.:2.000 1st Qu.:2.000 1st Qu.:1.000 1st Qu.:2.000
Median :3.000 Median :3 Median :3.000 Median :3.000 Median :1.000 Median :4.000
Mean :2.975 Mean :3 Mean :2.909 Mean :2.841 Mean :1.975 Mean :3.174
3rd Qu.:4.000 3rd Qu.:4 3rd Qu.:4.000 3rd Qu.:3.000 3rd Qu.:3.000 3rd Qu.:4.000
Max. :5.000 Max. :4 Max. :5.000 Max. :5.000 Max. :5.000 Max. :5.000
My Question 1 is: Correlation matrix vs. covariance matrix, which matrix is a better fit for my analysis? I ask this question since all the numeric variables were 5-points scales, except clarity (4-point, very vague, somewhat vague, somewhat clear, very clear). I Googled and people say covariance matrix when the measurements are commensurate, while correlation matrix should be used if measurements are not commensurate. But I'm not sure if my measurement are commensurate enough to use the covariance.
My Question 2 is: when we ignore the clustered nature of the data (each participant provided more than 1 datapoint) and just do an ordinary factor analysis. If I choose factor number =2, it seems to be not very sufficient (p = 0.088, although > 0.05, close to reject the H0 that 2-factor is sufficient), see:
(fac.MW = factanal(combined_MW, factors = 2, rotation ="promax", scores = "regression"))
Call:
factanal(x = combined_MW, factors = 2, scores = "regression", rotation = "promax")
Uniquenesses:
GeneralEMT clear_MW MW_Valence MW_react MW_judge MW_import
0.484 0.865 0.221 0.182 0.772 0.590
Loadings:
Factor1 Factor2
GeneralEMT 0.705
clear_MW 0.376
MW_Valence 0.892
MW_react 0.916
MW_judge -0.410 0.172
MW_import 0.101 0.654
Factor1 Factor2
SS loadings 2.316 0.609
Proportion Var 0.386 0.102
Cumulative Var 0.386 0.488
Factor Correlations:
Factor1 Factor2
Factor1 1.000 -0.214
Factor2 -0.214 1.000
Test of the hypothesis that 2 factors are sufficient.
The chi square statistic is 8.1 on 4 degrees of freedom.
The p-value is 0.0882
So I used the factor number = 3, but this time the df=0 and fit was nearly 0 (screenshot 3). I also searched online about this issue and it seems my model is just-identified, and someone suggest that one path should be fixed as 0 (see. http://www.statmodel.com/discussion/messages/11/21.html?1511305450). But I'm not sure what that means.
> (fac.MW = factanal(combined_MW,
factors = 3,
rotation ="promax",
scores = "regression"))
Call:
factanal(x = combined_MW, factors = 3, scores = "regression", rotation = "promax")
Uniquenesses:
GeneralEMT clear_MW MW_Valence MW_react MW_judge MW_import
0.491 0.935 0.243 0.145 0.324 0.005
Loadings:
Factor1 Factor2 Factor3
GeneralEMT 0.700
clear_MW 0.218 0.111
MW_Valence 0.828
MW_react 0.956
MW_judge 0.826
MW_import 1.002
Factor1 Factor2 Factor3
SS loadings 2.094 1.058 0.705
Proportion Var 0.349 0.176 0.118
Cumulative Var 0.349 0.525 0.643
Factor Correlations:
Factor1 Factor2 Factor3
Factor1 1.0000 -0.0283 0.198
Factor2 -0.0283 1.0000 -0.524
Factor3 0.1980 -0.5245 1.000
The degrees of freedom for the model is 0 and the fit was 7e-04
Let me know if any questions were not explained clearly!