2

我正在尝试使用四个变量来拟合和可视化多元线性回归模型。

fit <- lm(general_data$Bacterial.Contigs ~ general_data$Soil.Temperature + general_data$Time.point + general_data$Year)

这里,Time.point 和 Year 是分类变量,其他是数值变量。

我使用以下代码创建了一个 3D 图。

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))

情节是这样的:

在此处输入图像描述

如何在此图中为“拟合”模型添加回归线。我真的很感激任何帮助。谢谢

4

1 回答 1

0

您拟合了一个只有加性效应的模型,这意味着您的分类值只会增加或减少您的响应变量,不同类别的斜率不会改变。在 3D 绘图上可视化并不容易,我建议您尝试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)
于 2021-05-21T08:13:34.913 回答