evt evt - 8 months ago 43
R Question

How to do a regression of a series of variables without typing each variable name

I want to run a regression with a bunch of independent variables from my dataset. There are a lot of predictors, so I do not want to write them all out. Is there a notation to span multiple columns so I don't have to type each?

My attempt was doing this (where my predictors are column 20 to 43):

modelAllHexSubscales = lm(HHdata$garisktot~HHdata[,20:43])

Obviously, this does not work because
is a matrix of data, whereas I really need it to see the data as

Answer Source

Generate a formula by pasting column names first.

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