interactions between intercepts and slopes = growth curve modeling

79 views
Skip to first unread message

Diana Meter

unread,
Jun 5, 2018, 1:10:43 PM6/5/18
to lavaan
Hello,
I am working on a model that includes multiple growth curves. I would like to know how the interaction between two of the intercepts and two of the slopes affects two outcomes. I assume I cannot treat the intercepts and slopes as observed as I have it set up now because they are latent, and that my code below is incorrect. I bolded the line that I believe is incorrect. Is the best way forward to treat the indicators of the intercepts and slopes the way I would in a regular latent interaction (double mean-centering or orthogonalizing)? Is this model even something I can run in lavaan?
Thank you very much in advance for your thoughts!
Best,
Diana

m1 <- '
# intercepts and slopes

hostInt =~ 1*sibhost3 + 1*sibhost4 + 1*sibhost5 + 1*sibhost6 + 1*sibhost7 + 1*sibhost8 + 1*sibhost9   
hostSlop =~ 0*sibhost3 + 1*sibhost4 + 2*sibhost5 + 3*sibhost6 + 4*sibhost7 + 5*sibhost8 + 6*sibhost9              

aggInt =~ 1*agg3 + 1*agg4 + 1*agg5 + 1*agg6 + 1*agg7 + 1*agg8 + 1*agg9
aggSlop=~ 0*agg3 + 1*agg4 + 2*agg5 + 3*agg6 + 4*agg7 + 5*agg8 + 6*agg9

affInt=~ 1*sibaffect3 + 1*sibaffect4 + 1*sibaffect5 + 1*sibaffect6 + 1*sibaffect7 + 1*sibaffect8 + 1*sibaffect9
affSlop=~0*sibaffect3 + 1*sibaffect4 + 2*sibaffect5 + 3*sibaffect6 + 4*sibaffect7 + 5*sibaffect8 + 6*sibaffect9  

# regressions

hostInt ~ ov3 + rv3 + gender_coded
hostSlop ~ ov3 + rv3 + gender_coded
aggInt ~ ov3 + rv3 + gender_coded
aggSlop ~ ov3 + rv3 + gender_coded
affInt ~ ov3 + rv3 + gender_coded
affSlop ~ ov3 + rv3 + gender_coded

delinq9 ~ hostInt + hostSlop + aggInt + aggSlop + affInt + affSlop 
dep9 ~ hostInt + hostSlop + aggInt + aggSlop + affInt + affSlop 

delinq9 + dep9 ~ hostInt:aggInt + hostSlop:aggSlop
'

fit1 <- growth(m1, data=data, missing = "FIML", estimator="MLR")
summary(fit1, fit.measures=TRUE)

Terrence Jorgensen

unread,
Jun 6, 2018, 3:28:47 AM6/6/18
to lavaan
I assume I cannot treat the intercepts and slopes as observed as I have it set up now because they are latent, and that my code below is incorrect.

Correct.  The colon operator will only add an interaction between observed variables in your data set.

Is the best way forward to treat the indicators of the intercepts and slopes the way I would in a regular latent interaction (double mean-centering or orthogonalizing)?

Doing so would set all your means to zero, so there could be no growth to model. 

Is this model even something I can run in lavaan?

No, but I think you could use the XWITH feature in Mplus to invoke LMS.  LMS is also available in the R package nlsem, if you can manage to specify and estimate your model (they have a lavaan-syntax translator to help with that).

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

Diana Meter

unread,
Jun 6, 2018, 10:23:30 PM6/6/18
to lavaan
Thank you very much for your quick and helpful reply, Terry!
Reply all
Reply to author
Forward
0 new messages