Quiero realizar una comparación de modelos según varios criterios utilizando R. El nombre de mi marco de datos es df
head(df)
Y X1 X2 X3 X4
1 18 307 130 3504 12.0
2 15 350 165 3693 11.5
3 18 318 150 3436 11.0
4 16 304 150 3433 12.0
5 17 302 140 3449 10.5
6 15 429 198 4341 10.0
Quiero comparar todas las combinaciones posibles con Y como variable dependiente. Te daré lo que he hecho hasta ahora para obtener el R.cuadrado para todos los modelos posibles. Me gustaría recibir sus comentarios para una mejor codificación, especialmente en conseguir todas esas fórmulas de modelo
# First get all possible combinations of the 4 inependent variables
comb_list <- lapply(1:4,function(i) combn(4,i))
# now create the formulas
comb_list_forms <- lapply(unlist(
sapply(1:length(comb_list), function(i)
sapply(1:dim(comb_list[[i]])[2], function(x) {nam <- names(df[1+comb_list[[i]][,x]])
formul <- "Y~"
sapply(1:length(nam), function(y) formul <<- paste(formul,nam[y],sep="+"))
formul <- sub("~+", "~", formul,fixed = T)
}))),as.formula)
# finally get r.squared
attach(df)
models.r.sq <- sapply(comb_list_forms, function(i) summary(lm(i))$r.squared)
Gracias