R пакет «Мыши» |Использование метода 'pmm' при одновременном исключении переменных из вменения - PullRequest
0 голосов
/ 17 сентября 2018

Я в настоящее время вменяю данные с помощью мыши из пакета R, используя метод 'pmm'. Минимальный рабочий пример (с учетом загруженного набора данных и правильно заданных переменных):

library(mice)
Example_imp <- mice(Example_data, m = 5, maxit = 50, method = "pmm", seed = 500)

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

init <- mice(Example_data, maxit = 0) 
meth <- init$method
meth[c("Age", "Nationality", "Gender", "Educ")]=""
Example_imp2 <- mice(Example_data, m = 5, maxit = 50, method = meth, seed = 500)

Но когда я вменяю данные, я могу указать «метод» только один раз, то есть я могу указать method = "pmm" или method = meth. Я не могу "дважды указать" это. Так как же я могу использовать метод pmm, почему все еще исключаю некоторые переменные из вменения и использую их только в качестве предикторов?

Заранее большое спасибо!

1 Ответ

0 голосов
/ 17 сентября 2018

Вам необходимо установить значение преломителя в матрице для мышей ()

Например, набор данных nhanes:

   age  bmi hyp chl
1   1   NA  NA  NA
2   2 22.7   1 187
3   1   NA   1 187
4   3   NA  NA  NA

Матрица предиктора по умолчанию, в которой все переменные используются для вменения, выглядит следующим образом::

     age hyp chl
age   0   1   1
hyp   1   0   1
chl   1   1   0

Если, например, вменение chl не нужно, нам нужно сделать строку chl равной 0, а затем установить в качестве вашего предикатораMatrix

    age hyp chl
age   0   1   1
hyp   1   0   1
chl   0   0   0
...