R(lavaan)中的 CFA 与序数数据 - 包括多元相关性?

CFA in R (lavaan) with ordinal data - polychoric correlation included?

我想用 R 中的序数数据使用 lavaan 计算验证性因素分析 (CFA)。数据来自一份调查问卷,其中包含 16 个按李克特量表构建的项目。

我假设 4 因子模型最适合我的数据。为了计算 CFA,我搜索了信息并在 paper.

中找到了一些有用的建议

建议使用 DWLS 估计和多元相关。我已经使用 lavaan 包在 R 中用 DWLS 计算了 CFA。我发现在 Mplus 中,DWLS 估计或相同的 WLSMV 使用 polychoric correlation ,不幸的是我从未使用过 Mplus 并想与 R 一起工作,所以我想知道在 lavaan 中是否相同。

到目前为止,我是这样计算 CFA 的:

我指定了一个模型 (model.4),有 4 个因素(AV、AW、AB、AA),(每个因素有 4 个项目)

model.4='
AV =~ AVf1_+AVf2+AVf3+AVf4 
AW =~ AWf1+AW2+AWf3+AWf4 
AB =~ ABf1+ABf2+ABf3+ABf4 
AA =~ AAf1+AAf2+AAf3+AAf4'

然后我使用了"ordered"函数,因为我的数据是有序的,推荐在lavaan

model.ord = cfa(model.4,data=Data,ordered=c(
"AVf1","AVf2","AVf3","AVf4",
"AWf1","AWf2","AWf3","AWf4",
"ABf1","ABf2","ABf3","ABf4",
"AAf1","AAf2","AAf3","AAf4"))

这很有效。我得到了包含所有相关拟合指数(CFI、RMSEA 等)的输出。现在我的问题是,如果这像 Mplus 那样自动基于多元相关性?如果不是 - 我如何添加命令以使用多元相关? lavaan 包中有一些关于多元相关的信息,lavCor,但我不知道它是否对我的问题有用,不幸的是我不知道如何使用它。

我这样试过:

model.ord1 <- lavCor(cfa(model.4,data=Data,ordered=c(
 "AVf1","AVf2","AVf3","AVf4",
"AWf1","AWf2","AWf3","AWf4",
"ABf1","ABf2","ABf3","ABf4",
"AAf1","AAf2","AAf3","AAf4"))

))

但是> summary(model.ord1, fit=T)没有用。我没有收到任何结果。

总结:我的 CFA 是否自动基于多元相关性?如果没有,我该如何改变我的函数来实现多元相关?

以下 link 包含一个类似的用例,我猜:https://www.packtpub.com/books/content/structural-equation-modeling-and-confirmatory-factor-analysis - 向下滚动到:"The lavaan syntax":

通过您使用的参数 ordered = c,您已经告诉 lavaan 某些变量本质上是有序的。作为回应,lavaan 估计了这些变量的多元相关性。

但我不知道是不是true/correct。有人可以确认吗?

是,according to folks in the lavaan user group,使用 "ordered" 选项将对序数变量使用具有多元相关的 DWLS。

您可以通过比较

的输出来仔细检查这一点
inspect(fit, "sampstat")$cov  

其中 fit 是具有有序变量的 cfa() 模型的输出,并且

lavCor(fit, ordered = TRUE, group = NULL, output = "cor")

报告多元相关性