Я хотел бы вычислить подтверждающий факторный анализ (CFA) в R (lavaan) с моими порядковыми данными. Я анализирую анкету, содержащую 16 элементов (Likert-Scale). Я полагаю, что 4-факторная модель лучше всего подходит для моих данных. Чтобы вычислить CFA, я искал информацию и нашел полезное пособие в документе (https://www.researchgate.net/publication/7489589_Comparison_of_alternative_estimation_methods_in_confirmatory_factor_analyses_of_the_General_Health_Questionnaire) и других сообщениях.CFA в R (лаваан) с порядковыми данными - включена полихорическая корреляция?
Вывод/рекомендация - использовать DWLS-оценку и полихорическую корреляцию. Мне удалось вычислить CFA с DWLS в R (с пакетом lavaan). Я узнал, что в Mplus оценка DWLS (или WLSMV, которая является одинаковой) использует автоматически полихорическую корреляцию (http://web.pdx.edu/~newsomj/semclass/ho_estimate.pdf), (к сожалению, я никогда не использовал Mplus и хотел бы работать с R), поэтому мне было интересно, если в лаване это то же самое и мне даже не нужно выполнять команду для полихорических корреляций.
До сих пор я вычислил CFA так:
я указал модель (model.4) с 4-мя факторами (А. В., 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'
Тогда я использовал «заказал» функцию из-за моих упорядоченных данных, которая рекомендуется в пакете 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 автоматически основанным на полихорической корреляции? Если нет, как я могу изменить свою функцию для реализации полихорической корреляции?