I’m new to using Lavaan for CFA in R. I’ve set up my model, but I’ve noticed something odd. None of my factor loadings are set to 1, which I thought was standard practice. Here’s a snippet of my code:
The output shows all loadings as decimal values. Is this normal for Lavaan? Should I be concerned? I’m confused about why it’s not automatically setting one loading to 1 for each factor. Any insights would be greatly appreciated!
I totally get your confusion about the factor loadings. When I first started with Lavaan, I was scratching my head too!
So here’s the deal - you’ve actually told Lavaan to do something a bit different with that std.lv=TRUE part. It’s like telling it to put on its fancy shoes instead of its everyday ones.
Instead of fixing one loading to 1, it’s standardizing the whole shebang. It’s pretty cool because it can make your results easier to understand, especially if you’re comparing different models.
But hey, if you’re more comfortable with the old-school way, no worries! Just kick that std.lv=TRUE part out of your code and you’ll be back to the classic ‘one loading set to 1’ style.
What made you choose to use std.lv=TRUE in the first place? I’m curious about what kind of analysis you’re doing. Have you noticed any differences in your results compared to the traditional approach?
hey Mia, dont worry bout it! lavaan uses a different approach by default. when u set std.lv=TRUE, it standardizes the latent variables instead of fixing a loading to 1. this way is actually pretty handy cuz it makes interpreting results easier. if u wanna go back to the traditional way, just remove that std.lv=TRUE part from ur code. hope this helps!
Your observation regarding factor loadings in Lavaan is astute. The behavior you’re seeing is indeed intentional and stems from the std.lv=TRUE argument in your CFA function call. This parameter instructs Lavaan to standardize the latent variables, which results in all factor loadings being freely estimated rather than fixing one to 1.
This approach offers certain advantages, particularly in terms of model interpretation and comparison. It allows for a more flexible estimation process and can sometimes lead to better model fit. However, if you prefer the traditional method of setting one loading to 1 per factor, simply omit the std.lv=TRUE argument from your cfa() function.
It’s worth noting that both methods are valid, and the choice often depends on your specific research questions and the conventions in your field. If you’re collaborating with others or comparing your results to existing literature, you may want to align your approach accordingly.
Ultimately, the key is to understand the implications of your chosen method and report it clearly in your results.