1

如何计算不同数据框之间潜在变量的因子负载估计值?

我有 3 个数据帧与 1 个潜在变量(相同的变量 ABCD)相关,但间隔不同。

  • dataframe1(100-120 天)。(1550 条记录)
  • dataframe2(120-150 天)。(1780 条记录)
  • dataframe3(180-250 天)。(1670 条记录)

package (lavaan)

model1 <- 'latent_variable1 =~ A + B + C + D
A~~B'
output1 <- cfa(model1, data=datafram1, std.lv=TRUE)
output2 <- cfa(model1, data=datafram2, std.lv=TRUE)
output3 <- cfa(model1, data=datafram3, std.lv=TRUE)

现在我想使用 SEM 计算 3 个潜在变量之间的估计差异。有人可以帮助我吗?

例子:

model<- 'latent_variable1 ~ latent_variable2 ~ latent_variable3'
output4<-sem(model, dataframe =????, std.lv=TRUE)
4

1 回答 1

1

如果我理解正确,您的目标主要是测试这 3 个数据集上因子负载的差异。而且,实际上,您没有 3 个潜在变量,而只有一个,但应用于 3 个不同的上下文。这是一种特定类型的潜在变量测量不变性评估。

所以,你需要的是:

  1. 将数据集合并为一个数据集,但表明它们的来源。我们称之为组
datafram1$group<-"G1"
datafram2$group<-"G2"
datafram3$group<-"G3"

df<-rbind(datafram1,datafram2)
df<-rbind(df,datafram3)
  1. 使用此组变量运行多组评估
output1 <- cfa(model1, data=df, std.lv=TRUE, group="group")

这将返回 3 个输出,每组一个,类似于在 3 个不同的数据帧中进行评估。

  1. 您现在可以将载荷约束为相等
output2 <- cfa(model1, data=df, std.lv=TRUE, group="group",group.equal="loadings")
  1. 我们可以评估它们之间差异的重要性:
anova(output1, output2)
于 2020-10-23T17:31:32.243 回答