Я рассчитал матрицы полихорической корреляции для одного и того же фрейма данных (20 порядковых переменных, 190 пропущенных значений) в R, используя три разных пакета, а коэффициенты для одних и тех же переменных немного отличаются друг от друга.
Я использовал функцию lavCor из " lavaan " (я перечислял порядковые переменные при вызове функции), полихорическую функцию из " psych " (1.9.1) (взял rhos) и функцию cor_auto из " qgraph " (которая должна автоматически вычислять полихорические корреляции для порядковых данных). Я смущен, потому что я думал, что они должны были дать точно такие же результаты. Я прочитал документацию к пакету, но не смог найти ничего, что помогло бы мне понять, почему. Может ли кто-нибудь дать мне знать, почему это происходит? Я уверен, что мне не хватает какой-то крошечной разницы между ними, но я не могу понять это.
PS: Я думаю, это могло произойти, потому что пакет психики корректирует пропущенные значения (у меня 190), используя поправку на непрерывность,но я до сих пор не понимаю, почему qgraph дает результаты, отличные от lavaan, поскольку qgraph говорит, что использует функцию lavCor lavaan для вычисления полихорических корреляций.
Спасибо !!
depanx<-data[1:20]
cor.depanx<-cor_auto(depanx)
polychor<-polychoric(depanx)
polymat<-polychor$rho
lav<-lavCor(depanx,ordered=c("unh","enj","trd","rst","noG","cry","cnc","htd","bdp","lnl","lov",
"cmp","wrg","pst","sch","dss","hlt","bad","ftr","oth"))
# as a result, matrices "cor.depanx", "polymat", and "lav" are different from each other.