如何使用 R 中的 lavaan 包测试潜在变量因子加载的差异

how test the difference in factor loadings of latent variable using lavaan package in R

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

我有 3 个数据框与 1 个潜在变量(相同的变量 A B C D)相关,但间隔不同。


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)

如果我没理解错的话,你的目的主要是测试这 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")

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

  1. 您现在可以将载荷限制为相等
output2 <- cfa(model1, data=df, std.lv=TRUE, group="group",group.equal="loadings")
  1. 我们可以评估它们之间差异的重要性:
anova(output1, output2)