Why does cor(lavPredict(fit)) differ from lavInspect(fit,"cor.lv")?

Skip to first unread message

Max Wilckens

Jul 15, 2019, 5:47:40 AM7/15/19
to lavaan
Dear all,

I'm currently running CFA on a hierarchical model, and I'm slowly getting used to lavaan. The model is as follows:

model <- '
f1 =~ x1 + x2 + x3
f2 =~ y1 + y2 + y3
f3 =~ z1 + z2 + z3
f4 =~ a1 + a2 + a3 + a4
f5 =~ b1 + b2 + b3
f6 =~ c1 + c2 + c3
d1 =~ f1 + f2 + f3
d2 =~ f4 + f5 + f6
fit <- cfa(model, data)

The model is fitted successfully and I'm trying to extract the lv correlation matrix, in order to check for discriminant validity by comparing the intra-construct correlation with the average variance extracted (EVA).
I thought the lavaan way to extract correlation is:


However, I do not understand, why cor(lavPredict(fit)) results in something different?

I would really appreciate any support to overcome by confusion!

Many thanks


Jul 15, 2019, 5:53:00 AM7/15/19
to lavaan

lavInspect(fit,"cor.lv") produces the model-implied correlation matrix of the latent variables. Predict gives factor scores so cor(lavPredict(fit)) gives the correlation between factor scores that are proxies of the latent variables.
Reply all
Reply to author
0 new messages