Я хочу сделать оценку склонности после многократного вменения, однако я думаю, что R неисправен, несмотря на отсутствие ошибок.
При загрузке пакета "кобальт" есть встроенный набор данных: lalonde_mis, который мы будем использовать дляэтот пример.
Несколько вменяемых данных следующим образом:
library(mice)
library(cobalt)
library(MatchIt)
data(lalonde_mis)
m <- 10
imp <- mice(lalonde_mis, m = m, print = FALSE)
imp.data <- complete(imp, "long", include = FALSE)
imp.data <- imp.data[with(imp.data, order(.imp, .id)),]
Теперь вычисление баллов склонности:
imp.data$ps <- imp.data$match.weight <- rep(0, nrow(imp.data))
for (i in levels(imp.data$.imp)) {
in.imp <- imp.data$.imp == i
imp.data$ps[in.imp] <- glm(treat ~ age + educ + race +
married + nodegree +
re74 + re75,
data = imp.data[in.imp,],
family = "binomial")$fitted.values
m.out <- matchit(treat ~ ps, data = imp.data[in.imp,],
distance = imp.data$ps[in.imp])
imp.data$match.weight[in.imp] <- m.out$weights
}
Эта часть вышеупомянутой формулы должна вычислить и дать мнеоценки склонности:
imp.data$ps <- imp.data$match.weight <- rep(0, nrow(imp.data))
for (i in levels(imp.data$.imp)) {
in.imp <- imp.data$.imp == i
imp.data$ps[in.imp] <- glm(treat ~ age + educ + race +
married + nodegree +
re74 + re75,
data = imp.data[in.imp,],
family = "binomial")$fitted.values}
Однако, когда я оглядываюсь назад на набор данных, оба значения imp.data $ match.weight, а также imp.data $ ps остаются равными 0;R не показывает ошибку, хотя;что здесь происходит?
Редактировать: sessionInfo () для анализов
R version 3.4.4 (2018-03-15)
attached base packages:
[1] stats graphics grDevices utils datasets methods base