我正在尝试使用两个调解器变量进行串行调解分析。我需要控制另一个变量。我想要使用lavaan :: sem()函数正确检查其健全性。
取自this post的符号。
模型定义,其中X为IV,M1和M2为串行介体,Y为DV,C为控制变量:
model.insom.covarD <- '
M1 ~ a1*X + C
M2 ~ a2*X + d21*M1 + C
Y ~ cp*X + b1*M1 + b2*M2 + C
X ~~ C
M1 ~~ C
M2 ~~ C
Y ~~ C
ind_eff1 := a1 * d21 * b2
ind_eff2 := a1 * b1
ind_eff3 := a2 * b2
total_eff:= ind_eff1 + ind_eff2 + ind_eff1 + cp'
我认为每个回归结尾处的 + C 意味着将包含我的控制变量,因此我可以将X,M1,M2对Y的影响与C的影响分开在Y上。我的理解正确吗?
然后我运行sem()函数
fit.insom.covarD <- lavaan::sem(model = model.insom.covarD,
data = InsomDatCovarD,
se = "boot",
bootstrap = 5000)