对许多R专家来说,这可能是一个非常简单的问题。如果数据框中有许多列,并且您只想省略一列或两列并在“多元回归”中包含其他所有内容,那么我们如何在不写出大问题的情况下实现这一目标呢?
例如,包括所有:
lm(y ~., data=myFrame)
然后,如果你想一个一个地挑选
lm(y ~ x1 + x2 + x3)
但是如果你有50个变量但是想要省略一些最好的方法呢?因为我想遗漏两三个包括所有然后做前后选择。
答案 0 :(得分:9)
使用.
运算符“数据框中除响应变量之外的所有内容”和-
运算符用于“但请将其保留”......
lm(y ~ . - excluded_1 - excluded_2, data = myFrame)
答案 1 :(得分:1)
您可以使用R的内置子集:
all.but.x1x2x3 <- myFrame[, !(colnames(myFrame) %in% c('x1', 'x2', 'x3'))]
lm(y ~., data=all.but.x1x2x3)