Визуализация множественной линейной регрессии с использованием R
Я пытаюсь подогнать и визуализировать модель множественной линейной регрессии с использованием четырех переменных.
fit <- lm(general_data$Bacterial.Contigs ~ general_data$Soil.Temperature + general_data$Time.point + general_data$Year)
Здесь Time.point и Year являются категориальными переменными, а другие - числовыми переменными.
Я создал трехмерный график, используя следующий код.
library(plotly)
plot_ly(data = general_data, z = ~Bacterial.Contigs, x = ~Soil.Temperature, y = ~Time.point, color = ~Year, colors = c('#0C4B8E' ,'#BF382A'),opacity = 0.5) %>%
add_markers( marker = list(size = 4))
А сюжет выглядит так:
Как я могу добавить линию регрессии для «подходящей» модели на этом графике. Буду очень признателен за любую помощь. Спасибо
1 ответ
Вы подобрали модель только с аддитивными эффектами , то есть ваши категориальные значения только добавляют или уменьшают переменные отклика, наклон не изменится для разных категорий. Это непросто представить на трехмерном графике, я предлагаю вам попробовать
ggplot2
.
Пример с
mtcars
, вы в основном помещаете подогнанные значения обратно во фрейм данных и вызываете строку для подогнанных значений:
dat = mtcars
dat$am = factor(dat$am)
dat$vs = factor(dat$vs)
fit <- lm(mpg ~ disp + am + vs,data=dat)
dat$fitted= fitted(fit)
library(ggplo2)
g = ggplot(dat) + geom_point(aes(x=disp,y=mpg)) +
geom_line(aes(x=disp,y = fitted)) + facet_grid(am~vs)
print(g)
Или если вам нужен сюжет:
library(plotly)
ggplotly(g)