Я использую простую модель lm в R и пытаюсь проанализировать результаты, используя объект объяснения пакета DALEX.
Моя модель выглядит следующим образом: lm_model <- lm (DV ~ x + z, data = datax)
Если это имеет значение, x и z - факторы, а DV - число c. Lm работает без ошибок, и все выглядит хорошо через сводку (lm_model).
Когда я пытаюсь создать объект объяснения в DALEX, примерно так:
lm_exp <- DALEX::explain(lm_model, label = "lm", data = datax, y = datax$DV)
Это дает мне следующее :
Preparation of a new explainer is initiated
-> model label : lm
-> data : 15375 rows 49 cols
-> data : tibbble converted into a data.frame
-> target variable : 15375 values
Error in if (is_y_in_data(data, y)) { :
missing value where TRUE/FALSE needed
Перед запуском lm datax фильтруется для значений от .2 до 1 с помощью команды subset. Глядя на сводку (datax $ DV) и сумму (is.na (datax $ DV)), все выглядит хорошо. Я также проверил на наличие пробелов / ошибок, используя фильтр в Excel. По этим причинам я не верю, что в столбце DV данныхx есть какие-либо пробелы, поэтому я не уверен, почему я получаю «Ошибка в if (is_y_in_data (data, y)) {: отсутствует значение там, где требуется TRUE / FALSE»
Я искал inte rnet для этой ошибки при использовании объяснения DALEX, но я не нашел никаких результатов. Спасибо за любую помощь, которая может быть оказана.