我创建了一个基于钻石数据集的图,其中有一个回归线和10个案例。我想添加一个残差(从观察price
到其预测值的垂直线,红色的回归线),特别针对一个案例(案例3,price
的第二高值) 。在第二个图中,我想添加一个边长等于其残差的红色正方形(右边的残差使得正方形不与回归线重叠),只是为了可视化残差和平方残差(I总是以红色表示。我到目前为止的代码如下所示。有人知道如何创建这些吗?
library(ggplot2)
library(dplyr)
data(diamonds)
set.seed(123)
small_n = sample_n(diamonds, 10, replace = TRUE)
small_n = select(small_n, price, carat)
p = ggplot(small_n, aes(x = carat, y = price))
p = p +
geom_point() +
ggtitle("Price by Carat") +
geom_hline(yintercept = mean(small_n$price),
linetype = "dashed") +
geom_vline(xintercept= mean(small_n$carat),
linetype = "dashed") +
geom_smooth(method=lm, # Add linear regression lines
se=FALSE, color = "black", size = .2) +
coord_cartesian(xlim = c(0, 3), ylim = c(0, 13000))
p