如何使用r中的ggplot在空模型上绘制lm线上的预测值

时间:2018-04-05 03:39:09

标签: r ggplot2 lm

尝试使用正在屈服的ggplot重现下面的基本代码 结果不正确

基本代码

model1 <- lm(wgt ~ 1, data = bdims)
model1_null <- augment(model1)
plot(bdims$hgt, bdims$wgt)
abline(model1, lwd = 2, col = "blue")
pre_null <- predict(model1)
segments(bdims$hgt, bdims$wgt, bdims$hgt, pre_null, col = "red")

ggplot代码

bdims %>% 
  ggplot(aes(hgt, wgt)) +
  geom_point() +
  geom_smooth(method = "lm", formula = bdims$hgt ~ 1) +
  segments(bdims$hgt, bdims$wgt, bdims$hgt, pre_null, col = "red")

1 个答案:

答案 0 :(得分:1)

以下是使用内置lsof数据的示例:

mtcars

ggplot(mtcars, aes(wt, mpg)) + geom_point() + geom_smooth(method = "lm", formula = y ~ 1) + geom_segment(aes(xend = wt, yend = mean(mpg)), col = "firebrick2") 引用审美维度,而不是变量名称。您需要使用formula而非基本图形geom_segment。在更复杂的情况下,您可以预先计算模型的分段预测值,但对于空模型,只需使用segments内联即可。

enter image description here