【发布时间】:2019-02-04 20:59:18
【问题描述】:
我希望能够进行前向逐步线性回归,但将预测变量的数量限制在最大值(在我的具体情况下为三个)。这是一些示例数据。
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
我确信有办法做到这一点,但我似乎无法弄清楚正确的格式。提前致谢。
【问题讨论】:
标签: r regression