Я хочу дополнить фрейм данных столбцами .fitted
из broom::augment()
для различных моделей lm()
, чтобы позже можно было сравнить прогнозы. Я (пере) называю () столбец .fitted
для каждой модели, но augment()
также добавляет столбцы .rownames
.se.fit
и т. Д. Поэтому, когда я запускаю augment()
для второй модели, я получаю
Ошибка: столбец .rownames
должен иметь уникальное имя
для каждого из столбцов из augment()
, которые меня не интересуют.
Я заканчиваю тем, что не выбираю каждый из столбцов из augment()
, который меня не интересует. Я должен делать это после каждого вызова augment()
.
{r}
require(tidyverse)
require(broom)
require(ISLR)
lm.obj <- lm(mpg ~ horsepower, data = Auto)
Auto <- Auto %>%
augment(x = lm.obj) %>%
rename(mpg_pred_linear = .fitted)
qd.obj <- lm(mpg ~ horsepower + I(horsepower^2), Auto)
Auto <- Auto %>%
augment(x = qd.obj) %>%
rename(mpg_pred_quad = .fitted)
Я знаю, что мог бы использовать predict.lm()
вместо этого, но в курсе, который я преподаю, я уже использовал augment()
для создания предсказаний, и я хотел последовательности для моих учеников.
Есть ли в * 1028 варианты, которые я не нахожу, которые позволяют настраивать имена столбцов? Или выбор выходных столбцов?
Я не уверен, что это проблема, с которой мне просто нужно справиться, или я должен вместо этого представить ее как проблему. Пожалуйста, советуйте (или наказывайте), как считаете нужным.