Функция MASS::stepAIC
принимает результат lm
в качестве параметра и выполняет пошаговую регрессию, чтобы найти «лучшую» модель. Следующий код прост в мозгу и работает:
library(MASS)
data("mtcars")
lm1 = lm(mpg ~ ., mtcars)
step1 = stepAIC(lm1, direction = "both", trace = FALSE)
Я пытаюсь поместить это в функцию. В конце концов я хочу сделать больше, но я даже не могу заставить эти две строки кода работать, когда они заключены в функцию:
fit_model = function(formula, data) {
full_model = lm(formula = formula, data = data)
step_model = stepAIC(full_model, direction = "both", trace = FALSE)
return(step_model)
}
step2 = fit_model(mpg ~ ., mtcars)
Error in eval(predvars, data, env) :
invalid 'envir' argument of type 'closure'
Я работаю:
R version 3.6.2 (2019-12-12)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Linux Mint 19.1