У меня есть фрейм данных, в котором я хочу предсказать все переменные из других переменных, поэтому я создаю al oop следующим образом:
df = iris
df$Species <- NULL
mods = list()
for (i in 1:ncol(df)) {
mods[[i]] <- lm(df[, i] ~ ., df)
}
Но, к моему удивлению, каждая переменная выглядит так, как собственный предиктор; даже если я сделаю:
mods = list()
for (i in 1:ncol(df)) {
mods[[i]] = lm(df[, i] ~ . - df[, i], df)
}
То же самое происходит.
Я знаю, что могу создать правильное выражение формулы на стороне с правильными именами и так далее, но я чувствую, что это не должно быть желательным поведением для lm.
Вопрос в том, : Я что-то пропустил? Есть ли причина, почему эта функция имеет такое неудобное поведение? Если ответ на предыдущий вопрос «нет», разве это не должно быть улучшено?