I am trying to run a multiple mediation model in lavaan with 1 predictor (X), 4 parallel mediators (M1, M2, M3, M4), and 3 variables that I want to control for (i.e., age, duration, and severity). I wonder if someone could check my syntax and let me know if my model specification is correct. Thanks in advance.
Model <- '
X ~ b1 * M1 + b2 * M2 + b3 * M3 + b4 * M4 + c1 * X + c2 * age + c3 * duration + c4 * severity
C1 ~ a1 * X + a5 * age + a6 * duration + a7 * severity
C2 ~ a2 * X + a8 * age + a9 * duration + a10 * severity
C3 ~ a3 * X + a11 * age + a12 * duration + a 13 * severity
C4 ~ a4 * X + a14 * age + a15 * duration + a 16 * severity
indirect1 := a1 * b1
indirect2 := a2 * b2
indirect3 := a3 * b3
indirect4 := a4 * b4
total := c1 + c2 + c3 + c4 + (a1 * b1) + (a2 * b2) + (a3 * b3) + (a4 * b4)
C1 ~~ C2
C1 ~~ C3
C1 ~~ C4
C2 ~~ C3
C2 ~~ C4
C3 ~~ C4
'
require(lavaan)
fit <- sem(model = Model, data = Data, se = "bootstrap", bootstrap = 5000)
summary(fit, estimates = TRUE, ci = TRUE)