Как получить взвешенную сумму с помощью lavPredict? - PullRequest
0 голосов
/ 07 февраля 2019

Я использую функции cfa() и lavPredict() из пакета lavaan для создания факторных оценок для серии наблюдений, которые имеют некоторые пропущенные значения.Тем не менее, я не могу найти способ получения взвешенной суммы баллов, который позволил бы избежать среднего значения нуля.

Вот пример похожих данных:

x <- rnorm(100, 0.4, sd = 0.3)
y <- rnorm(100, 0.7, sd = 0.2)
df <- data.frame(x, y)
df$x[20:30] <- NA
df$y[80:90] <- NA

Использование полного-Информация максимального правдоподобия (FIML), я могу вменять пропущенные данные во время анализа фактора подтверждения.

mod <- 'dim =~ x + y'
fit <- cfa(mod, df, missing = "fiml")

Затем, используя функцию lavPredict, я могу дать факторные оценки для всех наблюдений.Я использую следующие методы оценки факторов: «регрессия», «Бартлетт», «ML» (максимальное правдоподобие) и «EBM» (эмпирический байесовский мод).

pred.r <- as.data.frame(lavPredict(fit, method = "regression"))
pred.b <- as.data.frame(lavPredict(fit, method = "Bartlett"))
pred.ml <- as.data.frame(lavPredict(fit, method = "ML"))
pred.ebm <- as.data.frame(lavPredict(fit, method = "EBM"))

Следующие гистограммы покажут распределениеиз факторных оценок:

hist(pred.r$dim)
hist(pred.b$dim)
hist(pred.ml$dim)
hist(pred.ebm$dim)

Я ищу способ расчета факторных оценок, которые взвешены с учетом факторных нагрузок из CFA и не имеют среднего значения нуля.Эта строка кода может получить загрузки факторов:

cfa.ld <- as.data.frame(inspect(cfa.fit, what = "std")$lambda)

Но я пытаюсь найти простой метод получения показателей факторов, который соответствует методу взвешенных сумм, описанному DiStefano, Zhu and Mindrila (2009) здесь: https://pareonline.net/getvn.asp?v=14&n=20

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...