我试图拟合一些路径模型,(即所有变量都被观察到,没有潜在变量)使用R中的“lavaan”。对于数据为完全池(下面的模型1 )的模型,我已经成功地做到了这一点。但是,这些数据是分组的,我想要建立一个模型来解释固定效应(模式2,下面)和随机效应(即按组随机截取;模型3,下面)。
我看过用户手册和其他各种在线资源,但是我很难想出如何对固定的和随机的效果模型进行编码。
我希望有人能就此提供一些建议。
我已经包括了简化版本的数据和模型,我试图适应下面。(我使用的是路径模型,因为实际数据包括更多的预测器和间接路径)。
数据集:变量为4个预测因子(P1-4);1项结果(结果);4组(每个观察属于四组中的一组: G1-4为虚拟变量)。所有变量都被观察到(即没有潜在变量)。
模型1:不考虑组的路径模型(即完全池)
这似乎很好。
model1 <-“
#回归方程
P2 ~ P1
结果~ P1 + P2 + P3 + P4
外源vars方差
P1 ~~ P1
P3 ~~ P3
P4 ~~ P4
外源vars协方差
P3 ~~ P4
内胆残差
P2 ~~ P2
结果~~结果
内毒素vars的covar (无)
“
fit1 <- lavaan(model1,data=mydata)
模型2:群固定效应
我不知道该怎么做…
问题:是通过将除一个组虚拟变量之外的所有变量作为外生变量,指定从每个虚拟变量到结果的路径,以及为每个虚拟变量包含一个方差项来实现的吗?这就是:
Model2 <-“
#回归方程
P2 ~ P1
结果~ P1 + P2 + P3 + P4 + G2 + G3 + G4
外源vars的#方差
P1 ~~ P1
P3 ~~ P3
P4 ~~ P4
G2 ~~ G2
G3 ~~ G3
G4 ~~ G4
外源vars协方差
P3 ~~ P4
内胆残差
P2 ~~ P2
结果~~结果
内毒素vars的covar (无)
“
fit2 <- lavaan(model2,data=mydata)
模型3:组的随机拦截
我看到您需要指定第1级(观察级)和第2级(组级)方程。我不知道如何正确地做这件事,但我的尝试如下。
问题:,为组指定具有随机拦截器的模型的正确方法是什么?而且,在对模型进行拟合时,如何正确地指定集群?
Model3 <-“
#回归方程
级别1:
P2 ~ P1
结果~ P1 + P2 + P3 + P4
2级:
结果~ G2 + G3 + G4
外源vars方差
P1 ~~ P1
P3 ~~ P3
P4 ~~ P4
G2 ~~ G2
G3 ~~ G3
G4 ~~ G4
外源vars协方差
P3 ~~ P4
内胆残差
P2 ~~ P2
结果~~结果
内毒素vars的covar (无)
“
fit3 <- lavaan(model3,data=mydata,集群=“?”)
任何建议都将不胜感激!
干杯
西蒙
发布于 2021-11-23 14:36:06
外生预测器的均值和(Co)方差默认为给定的(fixed.x=TRUE),因此不需要估计它们(也就是说,您可以将它们排除在模型语法之外)。
在模型3中,将G虚拟代码排除在模型之外。使用原始分组变量的名称(包含4个级别)作为cluster=参数,它将为所有建模的变量调用随机拦截。或者,如果您只指定一个单层模型,则cluster=参数会触发集群健壮的_SE_s和测试统计信息。这可能比随机截取更好,因为只有2.mlSEM级别的$N=4$在小样本中给出了高度偏倚的估计。但也许这就是你对方法的比较所要展示的。
https://stackoverflow.com/questions/70007742
复制相似问题