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

时间:2016-12-30 11:34:20

标签: r estimation ordinal factor-analysis r-lavaan

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

我假设一个4因子模型最适合我的数据。为了计算CFA,我搜索了信息,并在paper中找到了一些有用的建议。

建议使用DWLS估计和多重相关。我已设法使用R包在lavaan中使用DWLS计算CFA。我发现在M plus DWLS估计或WLSMV是相同的,使用polychoric correlation ,遗憾的是我从未使用过M plus 并且想要工作使用R,所以我想知道在lavaan中它是否相同。

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

我指定了一个模型(模型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等)的输出。现在我的问题是,如果这自动基于多重相关,如M plus ?如果不是 - 我如何添加命令以使用多重相关? 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是否自动基于多重相关?如果没有,我如何更改我的功能以实现多重相关?

2 个答案:

答案 0 :(得分:2)

是的,according to folks in the lavaan user group,使用“ordered”选项将使用DWLS与序数变量的多重相关。

您可以通过比较

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

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

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

报告多重相关

答案 1 :(得分:1)

以下链接包含一个类似的用例:https://www.packtpub.com/books/content/structural-equation-modeling-and-confirmatory-factor-analysis - 向下滚动到:&#34; lavaan语法&#34;:

使用你使用的参数ordered = c,你告诉lavaan一些变量本质上是序数的。作为回应,lavaan估计了这些变量的多重相关性。

但我不知道它是否真实/正确。任何人都可以证实吗?