【问题标题】:how test the difference in factor loadings of latent variable using lavaan package in R如何使用 R 中的 lavaan 包测试潜在变量的因子负载差异
【发布时间】:2020-01-27 21:53:14
【问题描述】:

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

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

  • 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)

【问题讨论】:

    标签: r r-lavaan structural-equation-model


    【解决方案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)
    

    【讨论】:

    • 非常感谢您的回复!
    猜你喜欢
    • 1970-01-01
    • 2023-02-08
    • 2021-06-09
    • 1970-01-01
    • 2020-07-14
    • 2016-02-11
    • 2021-09-26
    • 1970-01-01
    • 2020-09-28
    相关资源
    最近更新 更多