#r
#r
Вопрос:
Я использую step
функцию для выполнения прямой регрессии выбора. Кажется, что step
функция возвращает только конечную модель, хотя она будет печатать промежуточные модели в процессе выбора. Как я могу сохранить все модели?
Ответ №1:
Используйте keep
параметр. keep
это функция, которая принимает model
и aic
и возвращает то, что вы хотите сохранить.
utils::example("lm", echo = FALSE)
m <- step(lm.D9, keep = function(model, aic) list(model = model, aic = aic))
m$keep
#> [,1] [,2]
#> model List,14 List,11
#> aic -12.58106 -13.06335
Получите доступ к моделям следующим образом
m$keep[["model", 1]]
#> Call:
#> lm(formula = weight ~ group)
#>
#> Coefficients:
#> (Intercept) groupTrt
#> 5.032 -0.371
m$keep[["model", 2]]
#> Call:
#> lm(formula = weight ~ 1)
#>
#> Coefficients:
#> (Intercept)
#> 4.847
Указанная keep
нами функция также может быть записана следующим образом.
step(lm.D9, keep = dplyr::lst)