Hi everyone,
I suppose this is a very basic SEM question, but I'm having a hard time understanding the standardized estimates.
I tried simulating data and fitting a model like this:
library(lavaan)
set.seed(42)
y <- rnorm(1000,5,3)
x1 <- y+rnorm(1000,0,1)
x2 <- y+rnorm(1000,0,2)
x3 <- y+rnorm(1000,0,3)
df <- data.frame(y,x1,x2,x3)
model <- 'y =~ 1*x1+1*x2+1*x3
#x1~~a*x1
#x2~~a*x2
#x3~~a*x3
'
fit <- sem(model, df,std.ov=T)
summary(fit, standardize=T)
Given that I use std.ov in the sem command, all indicators should be standardized. I would assume that should lead to a case where the std.ov and std.all columns are equal, given that the indicators are already standardized.
But I get this output:
Latent Variables:
Estimate Std.Err z-value P(>|z|) Std.lv Std.all
y =~
x1 1.000 0.856 0.898
x2 1.000 0.856 0.843
x3 1.000 0.856 0.788
Only if I set the error terms to be equal, I get the same std.all estimates for all indicators, so it seems they are somehow responsible?
Any help to understand would be very much appreciated!
Thanks
Ralph