r - 突出显示图中的最高残差 : R

标签 r ggplot2 dplyr linear-regression

我正在尝试学习如何突出显示和注释图表中的某些点。为了获得可重现的示例,我在 alr4 包中使用 UBSprices 数据集。

我正在绘制一条 ols 线和一条 y=x 线。我想突出显示并注释距离 OLS 线最远的点(即最高残差)。

这是我到目前为止的代码:

ggplot(UBSprices, aes(x = bigmac2003, y = bigmac2009)) + geom_point() + geom_smooth(method = "lm", se = FALSE) + 
  geom_abline(color = "green", size = 1) + coord_fixed()

最佳答案

您可以计算残差,然后识别那些绝对值大于某个截止分位数的残差。例如:

library(tidyverse)
library(alr4)

UBSprices %>% 
  mutate(resid = resid(lm(bigmac2009 ~ bigmac2003, data = .)),
         mark = abs(resid) >= quantile(abs(resid), prob=0.9)) %>% 
  ggplot(aes(x = bigmac2003, y = bigmac2009)) + 
  geom_point(aes(colour=mark), show.legend=FALSE) + 
  geom_smooth(method = "lm", se = FALSE) + 
  geom_abline(color = "green", size = 1) + 
  coord_fixed() +
  theme_bw() +
  scale_colour_manual(values=c("blue", "red"))

enter image description here

关于r - 突出显示图中的最高残差 : R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63732527/

相关文章:

r - install.packages 安装远远超过 package_dependencies

r - 如何在gganimate中使用自己的图像作为geom_point?

通过对数据子集进行排序来重新排序 x 轴变量

r - 估计面板中​​常见集合成员随时间变化的百分比

r - Dplyr select_和starts_with对变量列表中的多个值

r - 如何在C++代码中实现R模型

r - 树形图显示在 R 中,但不在 R-Shiny 中

替换数值范围内的值

r - ggplot2:绘制几何图形中因子的顺序

r - 在以逗号分隔的其他列中添加该列的位置列