I want to do structural equation modeling with three moderators. My variables are attractiveness (X), self-worth (Y), age (A), gender (G) and social status (S). The data is longitudinal and collected in two waves: t1 and t2. In order to find out which relation exists between X and Y, in which direction this relation goes and how the relation is moderated by A, G and S, I want to use a cross-lagged-model where X_t2 and Y_t2 are the outcome variables. I use the R-package lavaan. The model looks like the following:
modelCLP <- '
# regressions
X_t2 ~ X_t1 + Y_t1 + A + G + S + Y_t1 * A + Y_t1 * G + Y_t1 * S
Y_t2 ~ Y_t1 + X_t2 + A + G + S + X_t1 * A + X_t1 * G + X_t1 * S
# co-movements
X_t2 ~~ Y_t2
X_t1 ~~ Y_t1
'
fit <- sem(modelCLP, data = datenB)
summary(fit, standardized = TRUE, fit.measures = TRUE)
The problem with my output is that I get the same results for the moderators in equation 1 and for the moderators in equation 2. When I do three separate analyses for the moderators I get three different results. When i calculate the model above, I get theses results:
lavaan 0.6-10 ended normally after 20 iterations
Estimator ML
Optimization method NLMINB
Number of model parameters 13
Number of equality constraints 4
Used Total
Number of observations 871 2406
Model Test User Model:
Test statistic 14.959
Degrees of freedom 4
P-value (Chi-square) 0.005
Model Test Baseline Model:
Test statistic 1024.222
Degrees of freedom 11
P-value 0.000
User Model versus Baseline Model:
Comparative Fit Index (CFI) 0.989
Tucker-Lewis Index (TLI) 0.970
Loglikelihood and Information Criteria:
Loglikelihood user model (H0) -1967.499
Loglikelihood unrestricted model (H1) -1960.020
Akaike (AIC) 3952.999
Bayesian (BIC) 3995.926
Sample-size adjusted Bayesian (BIC) 3967.344
Root Mean Square Error of Approximation:
RMSEA 0.056
90 Percent confidence interval - lower 0.028
90 Percent confidence interval - upper 0.088
P-value RMSEA <= 0.05 0.320
Standardized Root Mean Square Residual:
SRMR 0.018
Parameter Estimates:
Standard errors Standard
Information Expected
Information saturated (h1) model Structured
Regressions:
Estimate Std.Err z-value P(>|z|) Std.lv Std.all
X_t2 ~
X_t1 0.382 0.018 21.245 0.000 0.382 0.600
Y_t1 0.100 0.034 2.902 0.004 0.100 0.083
A (Y_t1) 0.002 0.002 1.395 0.163 0.002 0.037
G (Y_t1) 0.002 0.002 1.395 0.163 0.002 0.001
S (Y_t1) 0.002 0.002 1.395 0.163 0.002 0.003
Y_t2 ~
Y_t1 0.716 0.034 21.180 0.000 0.716 0.594
X_t1 0.064 0.018 3.617 0.000 0.064 0.100
A (X_t1) 0.004 0.001 2.724 0.006 0.004 0.071
G (X_t1) 0.004 0.001 2.724 0.006 0.004 0.002
S (X_t1) 0.004 0.001 2.724 0.006 0.004 0.006
Covariances:
Estimate Std.Err z-value P(>|z|) Std.lv Std.all
.X_t2 ~~
.Y_t2 0.104 0.020 5.287 0.000 0.104 0.182
Variances:
Estimate Std.Err z-value P(>|z|) Std.lv Std.all
.X_t2 0.580 0.028 20.869 0.000 0.580 0.581
.Y_t2 0.560 0.027 20.869 0.000 0.560 0.559
What can I do in order to get different results for the three moderators? Is there a better way to do a SEM with multiple moderators in R?