Lets compute the possible combinations of models we can derive from mtcars data.

all_possible_models <- function(col_names) {
  
cols <- names(col_names)
  
n <- length(cols)
  
id <- unlist(lapply(1:n,function(i)combn(1:n,i,simplify=FALSE)),recursive=FALSE)

formulas <- sapply(id,function(i) paste("Y ~",paste(cols[i],collapse="+")) )

return(formulas)
}
all_possible_models(mtcars[,2:5])
##  [1] "Y ~ cyl"              "Y ~ disp"             "Y ~ hp"              
##  [4] "Y ~ drat"             "Y ~ cyl+disp"         "Y ~ cyl+hp"          
##  [7] "Y ~ cyl+drat"         "Y ~ disp+hp"          "Y ~ disp+drat"       
## [10] "Y ~ hp+drat"          "Y ~ cyl+disp+hp"      "Y ~ cyl+disp+drat"   
## [13] "Y ~ cyl+hp+drat"      "Y ~ disp+hp+drat"     "Y ~ cyl+disp+hp+drat"