R:具有特定变量范围的多元线性回归

时间:2015-02-15 05:47:55

标签: r lm

看起来很简单,但我不知道如何在R中编码。 我有一个带有~100个变量的数据帧(df),我想在我的第一个变量(Y)的响应和作为回归量的变量25到60之间做一个多元回归。问题是我不想写每个变量名称,如:

lm(Y~var25+var26+.......var60, data=df)

我想使用像[,25:60]这样的东西来选择一个完整的范围。我已经尝试过但不起作用:

test <- lm(Y~df[, 25:60], data=df)
summary(test)
有些想法吗?

1 个答案:

答案 0 :(得分:5)

您可以通过仅选择这些列来subset数据集,然后执行lm

lm(Y~., data=df1[c(1,25:60)])

假设您需要var25var60,并且数据按列名排序

lm(Y~., data=df1[c(1,26:61)])   

或另一种选择是使用paste来创建公式

lm(paste("Y ~", paste(paste0('var', 25:60), collapse="+")), data=df1)

数据

set.seed(24)
df1 <- as.data.frame(matrix(sample(1:80, 20*101, replace=TRUE),
   ncol=101, dimnames=list(NULL, c('Y', paste0('var', 1:100)))))