Визуализация множественной линейной регрессии с использованием 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)
Другие вопросы по тегам