После использования mice
для создания 50 импутаций моего набора данных я очень хочу использовать пакет glmnet
для запуска эластичной сети. Я понимаю, что подходящим способом анализа вмененных данных является применение функций with
и pool
к объекту mids
, созданному при запуске mice(x,...)
, но glmnet
требует, чтобы его данные передавались в виде матрицы. И model.matrix
, и build.x
можно использовать для преобразования общего фрейма данных в матрицу. Объект mids
можно преобразовать в data.frame; однако использование имеющихся данных в качестве единого набора данных, по-видимому, подорвет весь процесс условного исчисления.
Пример:
df <- mice::nhanes
imp <- mice(df) #impute data
com <- complete(imp, "long", TRUE) #creates data frame
mat <- build.x(bmi ~ age + hyp + chl, com, contrasts = FALSE)
Предполагая, что вменения точны, как лучше всего сохранить вменения и создать соответствующие матрицы для использования в glmnet
?