Factor correlations in efa

Discuss statistics related things
Post Reply
sbtseiji
Posts: 4
Joined: Thu Nov 29, 2018 2:08 pm

Factor correlations in efa

Post by sbtseiji »

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)
Post Reply