我有一个数据集(mydata),其中有1000条记录(行)和20个变量(列,x1 .... x20)。第一列是我的响应变量(y)。所有数据均为数字,没有缺失值。
这很好:
fit <- y ~ x2 + x3 + ..... x20, data = mydata); summary(fit)
我试图弄清楚如何避免输入所有变量名称(即x1 + x2 + x3等)。
我尝试过:
predictors <- mydata[2:20]
fit <- lm(y ~ mydata[ c(2:20) ] # as well as mydata[2:20] and predictors
错误-变量“预测变量”的类型(列表)无效。
有没有解决的办法?感谢您的协助。
答案 0 :(得分:1)
我们可以使用.
来包含所有其他变量
lm(y~ ., data = mydata)
如果还有'x \ d +'以外的列
lm(y ~ ., data = mydata[c('y', grep("^x\\d+$", names(mydata), value = TRUE))])
带有mtcars
lm(mpg ~ ., data = mtcars)