У меня есть функция, которая принимает фрейм данных, первый столбец должен быть Y, и пользователь выбирает, какой столбец будет X. Мне нужно запустить несколько линейных моделей в одном и том же data.frame (найти, какой lm имеет лучшие результатыдля моего пользователя).
Используя набор данных mtcars, что у меня есть только для одной линейной модели:
results_LM <- function(data, var) {
fm1 <- as.formula(paste(colnames(data)[1], "~", var))
lm1(fm, data = data)
return(lm1)
}
fit <- results_LM(mtcars, "disp")
Я бы сделал то же самое для каждой линейной модели, которую я протестирую (и сохраню вокончательный список, который я буду использовать позже):
results_LM <- function(data, var) {
fm1 <- as.formula(paste(colnames(data)[1], "~", var))
lm1(fm, data = data)
fm2 <- as.formula(paste(colnames(data)[1], "~", var, "+ I(", var, "^2)"))
lm2(fm, data = data)
all_lm <- list("FirstLM" = lm1, "SeconLM" = lm2)
return(all_lm)
}
И это продолжается для fm3, lm3 ... fm99, lm 99
Это будет работать, но я думаю, что этоНАМНОГО лучший способ сделать это
Есть идеи, как запустить несколько линейных моделей в одном фрейме данных?