我正在使用多层次SEM来调查智力对团队冲突发生的影响,并考察多元文化团队中冲突对团队绩效的影响。智力是在个人层面上衡量的,冲突和绩效是在团队层面上衡量的。智力和冲突是潜在变量,其中每个变量都通过三个观察变量来测量(x1、x2、x3 用于测量智力,y1、y2、y3 用于测量冲突)。我正在通过 R 和 lavaan 包分析数据。这是我的代码:
model<-'
level: 1
intelligence=~x1+x2+x3
Level: 2
conflict=~y1+y2+y3
conflict~intelligence
performance~conflict'
fitmodel <- cfa(model, data=mydata, std.lv=FALSE, cluster="team_id")
但是,当我运行代码时出现此错误:
lav_data_full 中的错误(数据 = 数据,组 = 组,簇 = 簇,: lavaan 错误:数据集中缺少观察到的变量:情报
如果您能帮助我解决此错误,我将不胜感激。
我从lavaan页面得到这个:(https://lavaan.ugent.be/tutorial/before.html)
一些重要功能尚不可用:
完全支持分层/多级数据集(多级cfa、多级sem);然而0.6版本支持仅随机截取的两级cfa/sem,用于连续完整数据
支持除连续、二进制和序数之外的变量类型(例如:零膨胀计数数据、名义数据、非高斯连续数据)
支持离散潜在变量(混合模型、潜在类别)
我怀疑你违反了连续完整数据
除了承认 lavaan 的 MSEM 有限之外,我还可以提供额外的指导,因为您的模型规范中存在一些缺陷:
Lavaan 分别处理 1 级和 2 级模型。因此,如果您想在级别 2 中使用智能作为预测变量,则必须在级别 2 中再次指定测量模型。
我不是 SEM 专家,所以这一点可能是错误的。但总的来说,我确实对你们的 1 级和 2 级规格感到困惑。例如,如果您的 DV 是 Y,则 Y 应出现在级别 1 和级别 2,因为它具有组内和组间差异。但您在第 1 级仅指定一个测量模型,并在第 2 级指定一堆新测量模型。
看来您没有在第2级中定义潜在变量“智力”。如果需要,每个潜在变量都必须在每个级别中重新定义。所以你的 Lavaan 代码应该如下所示:
model<-'
level: 1
intelligence=~x1+x2+x3
Level: 2
intelligence=~x1+x2+x3
conflict=~y1+y2+y3
conflict~intelligence
performance~conflict'
fitmodel <- cfa(model, data=mydata, std.lv=FALSE, cluster="team_id")