Ошибка выброса StepAIC как «Ошибка в x [good, drop = FALSE]: (нижний индекс) слишком длинный логический индекс» - PullRequest
0 голосов
/ 11 июня 2019

Я работаю над моделью прогнозирования смертности с настройкой логистической регрессии.Чтобы выбрать переменные, я запускаю пошаговую регрессию на модели с помощью функции stepAIC пакета MASS.Я использовал эту функцию довольно долго без особых проблем.Для моего текущего набора данных я вижу, что эта функция выдает ошибку «Ошибка в x [good, drop = FALSE]: (нижний индекс) слишком длинный логический индекс», когда я выбираю определенные переменные, но выполняется плавно для других.

Я уменьшил свою модель до 4 переменных, но все еще вижу результат, который должен появиться.Проверил переменную длину, наибольшая длина переменной около 14. Я также проверил распределение переменных этих выбранных переменных, и это выглядит хорошо для меня.Проверено VIF, все около 2-2,5.Я даже удалил значения NA.Интересно, что тот же код работает гладко для того же набора данных с другим набором переменных.Мы будем благодарны за любую помощь.

logitmodel = glm(death_count~ ., tempdata[,c("death_count", "pct50to74_acs", "pct75to99_acs", "pct100to124_acs")], 
                 offset = tempdata$offset_baseqx, family = "binomial")

nothing = glm(death_count ~ 1, tempdata[,c("death_count", "pct50to74_acs", "pct75to99_acs", "pct100to124_acs")], 
              offset = tempdata$offset_baseqx, family = "binomial")

myscope = list(lower = formula(nothing), upper = formula(logitmodel))

ForwardModel = stepAIC(nothing, scope = myscope, direction = "forward", k = 2)

Ниже приведена сводка переменных.

> summary(tempdata)

  death_count      offset_baseqx       pct50to74_acs     pct75to99_acs     pct100to124_acs  
 Min.   :0.00000   Min.   :-12.68618   Min.   :0.00000   Min.   :0.00000   Min.   :0.00000  
 1st Qu.:0.00000   1st Qu.: -6.37140   1st Qu.:0.01375   1st Qu.:0.01812   1st Qu.:0.02183  
 Median :0.00000   Median : -5.13844   Median :0.02640   Median :0.03383   Median :0.03783  
 Mean   :0.01698   Mean   : -5.18591   Mean   :0.03229   Mean   :0.03784   Mean   :0.04040  
 3rd Qu.:0.00000   3rd Qu.: -3.95894   3rd Qu.:0.04486   3rd Qu.:0.05279   3rd Qu.:0.05511  
 Max.   :1.00000   Max.   :  0.03052   Max.   :0.10469   Max.   :0.10453   Max.   :0.10119 

Это ошибка, с которой я сталкиваюсь

> ForwardModel = stepAIC(nothing, scope = myscope, direction = "forward", k = 2)
Start:  AIC=224385.6
death_count ~ 1

Error in x[good, , drop = FALSE] : (subscript) logical subscript too long
...