factor.scores(my_data, my_efa, method=???)$scoresGetting Factor Scores
After all the focus of EFA on trying to better understand the underlying structure of factors that are resulting in our observed responses, we have somewhat lost sight of the fact that this might all be in aid of some other purpose - trying to create a score for each person in our dataset for each of our final factors!
Much like PCA scores, the scores from factor models will be taking into account the extent to which each individual observed variable might differently reflect the underlying factor. So this will contrast with naive mean/sum scores which assume each variable is equally reflective of the construct.
Unlike PCA, however, in factor analysis everything is indeterminate. Much like how we can have infinitely many sets of loadings (depending on how we rotate them) that are numerically indistinguishable in terms of the implied model, there are infinitely many sets of factor scores that we could create - we have “factor score indeterminacy”.
This means there are many various methods to estimated factor scores, and they will all combine the observed responses, the factor loadings, and the factor correlations.
We can get them all using the factor.scores() function. We need to give this function our data, our factor model, and tell it which method to use.
- If the construct is going to be used as a dependent variable, use Bartlett (
method = "Bartlett")
- If the construct is going to be used as a predictor, use Thurstone (
method = "Thurstone")
- If the construct is a covariate, it’s less important