我想使用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是否自动基于多重相关?如果没有,我如何更改我的功能以实现多重相关?
答案 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估计了这些变量的多重相关性。
但我不知道它是否真实/正确。任何人都可以证实吗?