R中的串行调解 - 如何设置模型?

机器算法验证 r 调解
2022-04-06 14:37:37

不幸的是,众所周知的 PROCESSr 包不支持 r 中的串行中介,如下面的模型所示。我一直在寻找整个网络,但找不到允许我在 r.xml 中指定以下模型的包。

您将如何在 r 中建立一个像这样的模型?有一个包可以这样做吗?

串行调解

1个回答

这可能应该迁移到 StackOverflow,因为它是关于软件的,但是:

您可以在 R 包中执行此操作lavaan在您的模型中,您将首先为M1M2和指定模型Y我们也希望标记所有路径。我将c'标记cp,对于“c-prime”:

M1 ~ a1 * X
M2 ~ a2 * X + d21 * M1
Y ~  cp * X + b1  * M1 + b2 * M2

根据 Hayes 的说法,间接影响ind_eff随后被定义为a1 * d21 * b2

ind_eff := a1 * d21 * b2

你需要把这一切都放在一个字符串对象中:

model <- "
  M1 ~ a1 * X
  M2 ~ a2 * X + d21 * M1
  Y ~  cp * X + b1  * M1 + b2 * M2
  ind_eff := a1 * d21 * b2
"

然后,您只需使用自举置信区间运行模型即可获得间接效应的置信区间 ( ind_eff):

fit <- lavaan::sem(model = model, data = dat, se = "boot", bootstrap = 5000)

dat您的数据框的名称在哪里,并且5000是您想要执行的引导重新采样的数量(这可能需要几分钟)。

要查看您的结果,您可以致电:

lavaan::parameterEstimates(fit, boot.ci.type = "bca.simple")