Устранение неполадок вменения MICE в R с категориальными переменными

Я пытался экспериментировать с MICE на данных из Kaggle, но у меня возникли проблемы с вменением категориальной переменной. Я работал над этой записной книжкой - https://www.kaggle.com/rtatman/animal-bites и пытался предсказать вид (SpeciesIDDesc). Однако ни одно из значений NA не изменилось после запуска MICE. Ниже приведен код, который у меня есть прямо сейчас.

library(tidyverse)
library(lubridate)
library(mice)

#kaggle link with data - https://www.kaggle.com/rtatman/animal-bites
data <- read_csv("Health_AnimalBites.csv", 
                 col_types = list(BreedIDDesc = col_character(), 
                                  release_date = col_datetime()))

data_mice_one <- data %>%
  filter(!is.na(victim_zip), 
         !is.na(bite_date), 
         !is.na(victim_zip), 
         !is.na(WhereBittenIDDesc)) %>%
  mutate(month = month(bite_date, label = TRUE)) %>%
  select(SpeciesIDDesc, 
         victim_zip, 
         month)

imputed_data_one <- mice(data_mice_one, diagnostics = FALSE, remove_collinear = FALSE, meth="polyreg")
imputed_data_one <- complete(imputed_data_one)
view(imputed_data_one)

sum(is.na(imputed_data_one$SpeciesIDDesc))

Я также получаю предупреждающее сообщение после запуска 'imputed_data_one ‹- mice (data_mice_one, diagnostics = FALSE, remove_collinear = FALSE, meth =" polyreg ")', в котором говорится:« Предупреждающее сообщение: количество зарегистрированных событий: 2 ». это то, что я получаю -
это im dep meth out 1 0 0 константа SpeciesIDDesc 2 0 0 константа жертва_zip

Как мне исправить свой код? Я неправильно использую MICE?


person nzhanggh    schedule 26.04.2020    source источник


Ответы (1)


Я только что понял, что забыл преобразовать SpeciesIDDesc и month в множители. Код работает сейчас

person nzhanggh    schedule 27.04.2020