Factor correlations in efa

Discuss statistics related things

by sbtseiji » Fri Apr 26, 2019 11:33 am

I found that the factor correlations obtained by efa are different from those by fa func in psych package though the factor loadings are identical. For example, when running the sample below, the factor correlation between factor 1 and 2 is 0.26 in psych package and 0.296 in jmv package. It seems that efa in jmv shows the correlations of the factor score estimates ('r.scores' obtained by psych::fa) rather than the interfactor correlations (Phi). Why is that? Is there any way I can get interfactor correlations?

#sample code

require(MASS); require(psych)
num <- 200; dim <- 6
set.seed(120)
Sig <- matrix(c(1, 0.6, 0.2, 0.2, 0.3, 0.5,
0, 1, 0.3, 0.3, 0.2, 0.4,
0, 0, 1, 0.7, 0.4, 0.2,
0, 0, 0, 1, 0.3, 0.2,
0, 0, 0, 0, 1, 0.5,
0, 0, 0, 0, 0, 1), nrow=6)
Sig<- Sig+ t(Sig) - diag(6)
df<-data.frame(mvrnorm(num, rep(0,dim), Sig))

fa(df,nfactors=3,rotate='oblimin',fm='ml')
efa(df,extraction='ml', rotation='oblimin',factorCor=TRUE)
sbtseiji
 
Posts: 1
Joined: Thu Nov 29, 2018 2:08 pm

Return to Statistics