Я импулировал свои данные с помощью мышей, но теперь мне нужно создать индексы с вмененными переменными. Я хочу, чтобы эта новая переменная присутствовала во всех моих итерациях вмененных данных, чтобы впоследствии объединить результаты регрессии. Я воспользуюсь набором данных (nhanes), поставляемым с мышами, чтобы объяснить свою проблему.
library(mice)
data_imp <- mice(nhanes,
m = 5,
maxit = 10,
seed = 23109)
Этот набор данных содержит 4 переменных (возраст, bmi, hyp, chl). Представьте, что я хотел бы добавить к моему вмененному списку для всех 5 моделей новую переменную со средним значением bmi и chl, которая будет bmi_chl.
Я хочу использовать цикл for, поэтому он выполняет операцию для всех 5 моделей.
for (i in 1:length(data_imp)) {data_imp$imp[[i]]$bmi_chl <-
rowMeans(data_imp$imp[[i]][,c("bmi","chl")], na.rm = T)
}
Сначала код не работает. Но я заметил еще одну проблему в способе хранения данных. В одном элементе есть исходные данные, а в другом - условно исчисленные списки. Однако в вмененном списке нет исходных данных, только вмененные записи данных ... Как мне удалось получить мою новую переменную во всех 5 вмененных моделях со всеми наблюдениями?
data_imp
. Вы использовалиcomplete()
? Показать весь соответствующий код. - person dcarlson   schedule 29.04.2021