R语言ggplot2散点图添加拟合曲线和回归方程

首先模拟一份数据集

df<-data.frame(x = c(1:100))
df$y<- 2 + 3 * df$x + rnorm(100, sd = 40)
head(df)

attachments-2024-02-4SsL1nCf65d860f174041.png


ggplot2基本的散点图并添加拟合曲线

library(ggplot2)
p<- ggplot(data = df, aes(x = x, y = y)) +
geom_smooth(method= "lm", se=FALSE, 
color="black", formula = y ~ x) +
geom_point()
p

attachments-2024-02-yXh5Vzji65d85f4dac95d.png


如果要显示95%置信区间,可以将se参数的FALSE改为TRUE

p<- ggplot(data = df, aes(= x, y = y)) +
geom_smooth(method= "lm", se=TRUE,
color="black", formula = y ~ x) +
geom_point()+
theme_bw()
p
attachments-2024-02-wJbR0tlT65d85f98965c5.png


添加拟合方程和R2

这里是自定义了一个函数, 直接用就可以了

lm_eqn<- function(df){
  m<- lm(~ x, df);
  eq<- substitute(italic(y) == a + b %.% italic(x)*","~~italic(r)^2~"="~r2,
      list(a= format(unname(coef(m)[1]), digits = 2),
          b= format(unname(coef(m)[2]), digits = 2),
          r2= format(summary(m)$r.squared, digits = 3))) 
    as.character(as.expression(eq));
}
p1<- p + 
            geom_text(x= 25, y = 300,label= lm_eqn(df), parse = TRUE)
p1

attachments-2024-02-eUkTB7Uf65d86098c9343.png

参考:https://cloud.tencent.com/developer/article/1854758


  • 发表于 2024-02-23 17:10
  • 阅读 ( 1032 )
  • 分类:R

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
星莓
星莓

生物信息工程师

58 篇文章

作家榜 »

  1. omicsgene 698 文章
  2. 安生水 347 文章
  3. Daitoue 167 文章
  4. 生物女学霸 120 文章
  5. xun 82 文章
  6. 红橙子 78 文章
  7. rzx 74 文章
  8. CORNERSTONE 72 文章