Longitudinal two-wave cross-lagged moderation model

249 views
Skip to first unread message

HG Wells

unread,
Jan 24, 2022, 6:56:22 PM1/24/22
to lavaan
Hello everyone,

I am trying to fit a cross-lagged moderation model (two waves), with one moderator and two dependent variables. I would really appreciate and be grateful for any help in understanding whether I am running a correct model, or any corrections.

Thank you
Emanuele
--

YA1 = First dependent.
YA2 = Second dependent.
X1 = Independent
W1 = Moderator.
INT = Interaction.

All variables were previously scaled.

model <- "
# Regressions
YA2 ~ YA1 + a1*X1 + W1 + c1*INT
YB2 ~ YB1 + a2*X1 + W1 + c2*INT

# Residual covariances at Time 1
X1 ~~ W1 + YA1 + YB1 + INT
W1 ~~ YA1 + YB1 + INT
YA1 ~~ YB1 + INT
YB1 ~~ INT

# Residual covariances at Time 2
X2 ~~ W1_2 + YA2 + YB2
W1_2 ~~ YA2 + YB2
YA2 ~~ YB2

# Simple slopes for condition effect
MOD_Y1_LOW := a1 + c1*(W1.mean - sqrt(W1.var))
MOD_Y1_MID := a1 + c1*(mean.mean)
MOD_Y1_HIGH := a1 + c1*(mean.mean + sqrt(W1.var))
MOD_Y2_LOW := a2 + c2*(mean.mean - sqrt(W1.var))
MOD_Y2_MID := a2 + c2*(mean.mean)
MOD_Y2_HIGH := a2 + c2*(mean.mean + sqrt(W1.var))
"

Terrence Jorgensen

unread,
Jan 25, 2022, 6:19:06 PM1/25/22
to lavaan
YA1 = First dependent.
YA2 = Second dependent.

Do you mean YA2 and YB2?  It looks like you are predicting Time 2 and controlling for Time 1 on both A and B outcomes.
 
# Residual covariances at Time 1
X1 ~~ W1 + YA1 + YB1 + INT
W1 ~~ YA1 + YB1 + INT
YA1 ~~ YB1 + INT
YB1 ~~ INT

It is not necessary to specify covariances among exogenous variables.  Let fixed.x=TRUE (default) so they are taken as given rather than estimated.

# Residual covariances at Time 2
X2 ~~ W1_2

Wait, is the moderator measured on 2 occasions?

# Simple slopes for condition effect
MOD_Y1_LOW := a1 + c1*(W1.mean - sqrt(W1.var))

Make sure you input the actual M and SD of W1 instead of these labels.  Or you can use the labels if you actually specify the parameters (which means fixed.x=FALSE) in order to label them, e.g., 

W1 ~ W1.mean*1
W1 ~~ W1.var*W1

MOD_Y1_MID := a1 + c1*(mean.mean)
MOD_Y1_HIGH := a1 + c1*(mean.mean + sqrt(W1.var))
MOD_Y2_LOW := a2 + c2*(mean.mean - sqrt(W1.var))
MOD_Y2_MID := a2 + c2*(mean.mean)
MOD_Y2_HIGH := a2 + c2*(mean.mean + sqrt(W1.var))

All the "mean.mean" labels should be "W1.mean".

Terrence D. Jorgensen
Assistant Professor, Methods and Statistics
Research Institute for Child Development and Education, the University of Amsterdam

Emanuele Fino

unread,
Jan 25, 2022, 8:06:39 PM1/25/22
to lav...@googlegroups.com
Hello Terrence,

Thank you very much for your kind reply, that is really helpful and much appreciated.

It all makes sense, that's great. About the moderator at two times, I forgot to mention it, sorry. In that regard, it was my understanding that the moderator at t2 should be in the model and covary with the other endogenous variables, but that the interaction between independent variable and moderator only makes sense at t1 as predictor of the dependent variable at t2. Would you consider this correct?

Thank you
Emanuele

--
You received this message because you are subscribed to a topic in the Google Groups "lavaan" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/lavaan/aVDRL-Jokdk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to lavaan+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/lavaan/dbcd815c-9a77-4e73-be4c-5321e9b77a0en%40googlegroups.com.

Terrence Jorgensen

unread,
Jan 26, 2022, 4:41:01 AM1/26/22
to lavaan
it was my understanding that the moderator at t2 should be in the model and covary with the other endogenous variables, but that the interaction between independent variable and moderator only makes sense at t1 as predictor of the dependent variable at t2. Would you consider this correct?

Sure, but I wonder if it is even necessary to include the moderator at T2 in the model if it only correlates with the other variables(' residuals).  If there is missing data and you use FIML, then it would certain be useful as an auxiliary to support the MAR assumption.

Emanuele Fino

unread,
Jan 26, 2022, 5:01:04 AM1/26/22
to lav...@googlegroups.com
Thank you, that makes perfect sense to me. 

Emanuele 


--
You received this message because you are subscribed to a topic in the Google Groups "lavaan" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/lavaan/aVDRL-Jokdk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to lavaan+un...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages