Я хотел бы иметь возможность выполнять прямую пошаговую линейную регрессию, но ограничить количество переменных-предикторов максимумом (в моем конкретном случае - тремя).Вот некоторые примеры данных.
set.seed(123)
myDep <- runif(100)
pred1 <- myDep + runif(100)
pred2 <- myDep + rnorm(100)
pred3 <- myDep + runif(100) + rnorm(100)
pred4 <- myDep + runif(100) + runif(100)
pred5 <- runif(100)
myDF <- data.frame(myDep, pred1, pred2, pred3, pred4, pred5)
Если бы я просто запустил линейную регрессию, используя следующий код, я бы получил все пять переменных предиктора, очевидно.
myModel <- lm(myDep ~ ., data = myDF)
ЧтоЯ хотел бы сделать это, используя step () или другую команду R для пошагового запуска в прямом направлении, который выбирает только три переменные предиктора, а затем останавливается.
Для чего это стоит, я попробовал это:
step(lm(myDep ~ ., data = myDF), steps = 3, direction = "forward")
и результаты были следующие - но не то, что я хочу, потому что он использует все пять переменных предиктора.
Start: AIC=-378.09
myDep ~ pred1 + pred2 + pred3 + pred4 + pred5
Call:
lm(formula = myDep ~ pred1 + pred2 + pred3 + pred4 + pred5, data = myDF)
Coefficients:
(Intercept) pred1 pred2 pred3 pred4 pred5
-0.16617 0.30043 0.07983 0.03670 0.17869 0.01606
Я уверен, что есть способ сделать это, но я не могу понять правильное форматирование.Заранее спасибо.