stat_smooth中的多元回归

时间:2019-05-14 17:14:23

标签: r ggplot2

我想使用stat_smooth()绘制具有多个回归变量的回归拟合值。看来stat_smooth()仅允许使用aes的{​​{1}}部分中指定的(x,y)数据进行回归。

这是ggplotx=hp的简单回归拟合的典型图

y=mpg

但是,我想绘制与上面相同的图,但是拟合值应来自具有两个回归变量head(mtcars) require(ggplot2) ggplot(mtcars, aes=(x=hp, y=mpg))+geom_point()+ stat_smooth(method="lm", formula=y~x) x1=hp的回归。

这个想法是,在控制x2=wt之后,wtmpg之间是什么关系。

这可能吗?

2 个答案:

答案 0 :(得分:0)

我不是统计专家,但是我认为一旦添加了额外的因变量,多元线性回归将不再是二维的。查看本文是否将您带往正确的方向: https://stats.stackexchange.com/questions/73320/how-to-visualize-a-fitted-multiple-regression-model

答案 1 :(得分:0)

这是可能的。我在这里找到它,来自@aosmith

https://aosmith.rbind.io/2018/11/16/plot-fitted-lines/#plotting-predicted-values-with-geom_line

简而言之,您单独拟合多元回归模型,将拟合值添加到原始数据集,然后用拟合值覆盖 geom_line() 的 aes。

此示例将同时绘制单变量回归线和多变量拟合线:

fitlm = lm(y ~ x1 + x2, data = dat)
dat$fitted = predict(fitlm)

ggplot(dat, aes(x = x1, y = y) ) +
  geom_point() +
  geom_smooth(method=lm, color="blue", se=FALSE) +
  geom_smooth(method=lm, aes(y = fitted), color="red", se=FALSE)