如何在不键入每个变量名的情况下对一系列变量进行回归

evt*_*evt 13 r

我想用我的数据集中的一堆独立变量运行回归.有很多预测因子,所以我不想全部写出来.是否有跨多个列的符号,所以我不必键入每个列?

我的尝试是这样做的(我的预测者是第20至43栏):

modelAllHexSubscales = lm(HHdata$garisktot~HHdata[,20:43])
Run Code Online (Sandbox Code Playgroud)

显然,这不起作用,因为HHdata[,20:43]是一个数据矩阵,而我真的需要它来看数据HHdata[,20]+HHdata[,21]等.

Jos*_*ich 17

这是另一种选择:

# if garisktot is in columns 20:43
modelAllHexSubscales <- lm(garisktot ~ ., data=HHdata[,20:43])
# if it isn't
modelData <- data.frame(HHdata["garisktot"],HHdata[,20:43])
modelAllHexSubscales <- lm(garisktot ~ ., data=modelData)
Run Code Online (Sandbox Code Playgroud)

  • 一线版modelAllHexSubscales &lt;-lm(garisktot〜。,data = subset(modelData,select = c(gariskot,20:43))) (2认同)

Vin*_*ent 15

通过首先粘贴列名来生成公式.

f <- as.formula(paste('garisktot ~', paste(colnames(HHdata)[20:43], collapse='+')))
modelAllHexSubscales <- lm(f, HHdata)
Run Code Online (Sandbox Code Playgroud)