使用 SEM 在 lavaan 中创建中介很容易。使用分组变量也很容易运行 SEM 多组模型。但是:是否可以在同一模型中运行两者?当我尝试时,我得到了每个组的系数,正如预期的那样,但我定义的中介参数只为第二组打印(间接和总效果,比例)。我如何为这两个组打印?
1 回答
好的,我想通了,虽然这对我来说是一个非常愚蠢的错误,但我会在这里发布我的答案,以防万一它可能对其他人有所帮助。
在 lavaan 中,要对多个组使用修饰符,需要使用向量,例如c(value_group1, value_group2)*var1
. 我对两组之间的一些系数有等式约束,所以一些变量被定义为c(z, z)*var1
。因此,当我为中介定义系数时,我对两组都使用了相同的标签,而没有意识到这会自动限制两组之间的值。我有这样的事情:c(Mediator1pathA1, Mediator1pathA1)*Var1
。然后我定义了参数,例如:indirect_M1 := Mediator1pathA1*Mediator1pathB1
. 由于 lavaan 将这些标签解释为在两组中相同,它只打印了一组定义的参数(所以,我indirect_M1
在最后一组之后只打印了 1 个值,而不是indirect_M1_Group 1
and indirect_M1_Group2
。我意识到要有两组参数计算,我必须在每个组中分配不同的标签)。所以,而不是c(Mediator1pathA1, Mediator1pathA1)*Var1
我将它们分配为c(Mediator1group1pathA1, Mediator1group2pathA1)*Var1
. 然后我定义了如上所述的间接效果参数,用于两组,voala!- 我为两组定义了两组参数。