R: na.action = na.exclude не работает с mlogit

Я пытаюсь добавить подогнанные значения моей полиномиальной логистической регрессии к исходному фрейму данных (так называемому «ЗАКАЗЫ»). К сожалению, это невозможно, поскольку, по-видимому, предсказанные вероятности и фрейм данных не имеют одинаковой длины, хотя я использую na.exclude в регрессии. Может быть, это как-то связано с необходимым преобразованием mlogit.data, так что na.exclude не работает?

mlModel_refPRE_STD <- mlogit(PAYMENT_METHOD ~ 1 | GROSS_RETAIL_TOTAL_STD + SOLVENCY_SCORE_STD + GENDER + EXISTING_CUSTOMER, data=mlORDERS, reflevel="PRE", na.action=na.exclude)

> ORDERS$predicted.probabilities <- fitted(mlModel_refPRE_STD) #
Error in `$<-.data.frame`(`*tmp*`, "predicted.probabilities", value = c(0.0168546281869084,  : 
  replacement has 129159 rows, data has 129372

> length(mlModel_refPRE_STD$fitted.values)
[1] 129159
> length(ORDERS$SOLVENCY_SCORE_STD)
[1] 129372

(Все другие переменные в регрессии также имеют длину 129372)


person wimpato    schedule 25.04.2017    source источник
comment
Может быть, вы работаете с двумя разными наборами данных? Модель создана на mlORDERS, и вы пытаетесь добавить подходящие значения к ORDERS   -  person Niek    schedule 25.04.2017
comment
Верно. Но добавление подобранных значений к mlORDERS бесполезно и не будет работать из-за разной длины. mlORDERS - это преобразованный фрейм данных в длинный формат, чтобы его можно было использовать в качестве входных данных для полиномиальной логистической регрессии с mlogit. Разница в длине, указанная выше, точно равна количеству пропущенных значений (NAs) одной независимой переменной, но мне интересно, почему подобранные столбец значений сокращен, хотя я использовал na.exclude ...   -  person wimpato    schedule 25.04.2017