Я работаю над моделью прогнозирования смертности с настройкой логистической регрессии.Чтобы выбрать переменные, я запускаю пошаговую регрессию на модели с помощью функции 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