繁体   English   中英

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

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

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

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

  • 数据框 1(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)

如果我理解正确,您的目的主要是测试这 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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM