如何使用 R 中的 lavaan 包测试潜在变量因子加载的差异
how test the difference in factor loadings of latent variable using lavaan package in R
如何计算不同数据帧之间潜在变量的因子加载估计值?
我有 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)
如果我没理解错的话,你的目的主要是测试这 3 个数据集上因子载荷的差异。而且,事实上,您没有 3 个潜在变量,只有一个,但应用于 3 个不同的上下文。
这是一种特定类型的潜在变量测量不变性评估。
那么,你需要的是:
- 将数据集合并为一个数据集,但要指明它们的来源。我们称它为组
datafram1$group<-"G1"
datafram2$group<-"G2"
datafram3$group<-"G3"
df<-rbind(datafram1,datafram2)
df<-rbind(df,datafram3)
- 运行多组评估,使用这个组变量
output1 <- cfa(model1, data=df, std.lv=TRUE, group="group")
这将 return 3 个输出,每组一个,类似于在 3 个不同的数据帧中进行评估。
- 您现在可以将载荷限制为相等
output2 <- cfa(model1, data=df, std.lv=TRUE, group="group",group.equal="loadings")
- 我们可以评估它们之间差异的重要性:
anova(output1, output2)
如何计算不同数据帧之间潜在变量的因子加载估计值?
我有 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)
如果我没理解错的话,你的目的主要是测试这 3 个数据集上因子载荷的差异。而且,事实上,您没有 3 个潜在变量,只有一个,但应用于 3 个不同的上下文。 这是一种特定类型的潜在变量测量不变性评估。
那么,你需要的是:
- 将数据集合并为一个数据集,但要指明它们的来源。我们称它为组
datafram1$group<-"G1"
datafram2$group<-"G2"
datafram3$group<-"G3"
df<-rbind(datafram1,datafram2)
df<-rbind(df,datafram3)
- 运行多组评估,使用这个组变量
output1 <- cfa(model1, data=df, std.lv=TRUE, group="group")
这将 return 3 个输出,每组一个,类似于在 3 个不同的数据帧中进行评估。
- 您现在可以将载荷限制为相等
output2 <- cfa(model1, data=df, std.lv=TRUE, group="group",group.equal="loadings")
- 我们可以评估它们之间差异的重要性:
anova(output1, output2)