在R中使用lavaan包的交互模型

时间:2015-04-28 14:30:13

标签: r r-lavaan

我想在下面适用Kenny和Judd(1984)模型:

y = alpha + gamma1 * psi1 + gamma2 * psi2 + gamma3 * psi1 * psi2 + epsilon

变量psi1psi2是不能直接观察的潜在变量。 Kenny和Judd(1984)在x1有两个可观察指标x2psi1以及x3的两个可观察指标x4psi2时考虑了这个案例。 1}}。我想使用lavaan包在R中创建此模型。

代码:

model <- '
psi1 =~ x1 + x2
psi2 =~ x3 + x4
'
fit <- sem(model,data=data)

有人可以帮我完成此代码以获取上述交互吗?

1 个答案:

答案 0 :(得分:0)

如果有人在 2021 年仍在搜索,您确实可以在 lavaan 中指定分类变量和交互(目前最多为三向)。

(1)可以使用group by函数来指定一个多级的组,例如:

MyModel <- sem(my.lavaan.model, Data, group="MyMultiLevelGroup").

(2) 您还可以在 lavaan 模型本身中使用“:”指定交互项,例如:

my.lavaan.model <- ' y ~ x1 + x2 + x1:x2'

(3) 因此,通过结合上面的步骤 (1) 和 (2),您可以指定 x1、x2 和 MyMultiLevelGroup 之间的三向交互,例如:

my.lavaan.model <- ' y ~ x1 + x2 + x1:x2'

MyModel <- sem(my.lavaan.model, Data, group="MyMultiLevelGroup").

这将显示在 MyMultiLevelGroup 的每个级别上 x1 和 x2 之间交互的结果。