I’m working on a Confirmatory Factor Analysis and need to check the Fornell/Larcker Criterion. To do this, I need to find the correlations between my latent factors. I’ve tried using standardizedSolution(fit), summary(fit, fit.measures=TRUE), and lavInspect(fit,"standardized"), but I can’t seem to find the “phi” matrix (covariance between latent factors).
Two questions:
How can I display the correlations between latent factors in a CFA using R and lavaan?
In the output of lavInspect(fit,"standardized"), I see a “$psi” matrix instead of “phi”. Could this be the correlation matrix I’m looking for?
I totally get your frustration with trying to find those pesky correlations between latent factors. It can be a real head-scratcher sometimes!
Have you tried using the lavInspect() function with the ‘cor.lv’ argument? Something like this might do the trick:
latent_correlations <- lavInspect(fit, what = 'cor.lv')
This should give you a matrix of correlations between your latent variables. It’s a neat little shortcut that saves you from having to manually standardize the phi matrix.
As for the $psi matrix you’re seeing, you’re right to be a bit confused. That’s actually showing you the variances and covariances of the latent factors, not the correlations. Easy mistake to make though!
I’m curious - what kind of model are you working on? Is this for a research project or just personal exploration? It’d be cool to hear more about what you’re investigating with your CFA!
Keep at it, and don’t hesitate to ask if you run into any more snags. This stuff can be tricky, but we’re all learning together, right?
Regarding your questions about displaying correlations between latent factors in CFA using lavaan, you can use the lavInspect() function with the ‘cor.lv’ argument to obtain the matrix of correlations. For example, you can run the following code:
latent_correlations <- lavInspect(fit, what = 'cor.lv')
This call should return the matrix you need to check the Fornell/Larcker Criterion. It is important to note that the $psi matrix returned by lavInspect(fit, ‘standardized’) represents the variances and covariances of the latent factors rather than their standardized correlations. As an alternative, the parameterEstimates() function can offer further detail, including standard errors and p-values associated with these correlations. I hope this insight helps with your CFA work.
hey leoninja22, to get those latent factor correlations, try this:
latent_cors ← lavInspect(fit, what=‘cor.lv’)
this returns the correlation matrix you need. the $psi matrix gives variances/covariances, not correlations. what kinda model are you workin on? let me know if ya need more help!