ggplot2拓展功能：添加拟合公式（Equations, R2, BIC, AIC etc.）

```# Load packages and set theme
library(ggpubr)
library(ggpmisc)
theme_set(
theme_bw() +
theme(legend.position = "top")
)
# Scatter plot
p <- ggplot(iris, aes(Sepal.Length, Sepal.Width)) +
geom_point(aes(color = Species), size = 3, alpha = 0.6) +
scale_color_manual(values = c("#00AFBB", "#E7B800", "#FC4E07")) +
scale_fill_manual(values = c("#00AFBB", "#E7B800", "#FC4E07"))+
facet_wrap(~Species)

p
```
1. Add regression line, correlation coefficient and equantions of the fitted line. Key functions:
• `stat_smooth()` [ggplot2]
• `stat_cor()` [ggpubr]
• `stat_poly_eq()`[ggpmisc]
```
formula <- y ~ x
p +
stat_smooth( aes(color = Species, fill = Species), method = "lm") +
stat_cor(aes(color = Species), label.y = 4.4)+
stat_poly_eq(
aes(color = Species, label = ..eq.label..),
formula = formula, label.y = 4.2, parse = TRUE)

```

Fit polynomial equation: Create some data: set.seed(4321) x <- 1:100 y <- (x + x^2 + x^3) + rnorm(length(x), mean = 0, sd = mean(x^3) / 4) my.data <- data.frame(x, y, group = c("A", "B"), y2 = y * c(0.5,2), block = c("a", "a", "b", "b")) Fit polynomial regression line and add labels: # Polynomial regression. Sow equation and adjusted R2 formula <- y ~ poly(x, 3, raw = TRUE) p <- ggplot(my.data, aes(x, y2, color = group)) + geom_point() + geom_smooth(aes(fill = group), method = "lm", formula = formula) + stat_poly_eq( aes(label = paste(..eq.label.., ..adj.rr.label.., sep = "~~~~")), formula = formula, parse = TRUE ) ggpar(p, palette = "jco")

Note that, you can also display the AIC and the BIC values using ..AIC.label.. and ..BIC.label.. in the above equation. Other arguments (label.x, label.y) are available in the function stat_poly_eq() to adjust label positions.For more examples, type this R code: browseVignettes(“ggpmisc”). 具体指引详见 http://www.sthda.com/english/articles/32-r-graphics-essentials/131-plot-two-continuous-variables-scatter-graph-and-alternatives/

0 条评论

• R语言 绘图组合布局grid/layout

par(mfrow=c(2,2))，可以理解将绘图区域分割为2x2的矩阵区域，另可参照《R语言实战》3.5图形的组合

• R语言建模入门：如何理解formula中y~.和y~x:z的含义？

背景：2019年的某月末日，三路人开局，兴趣所致组建了“花儿少年”：一个有组织、有纪律的R语言入门交流学习组织。自此，开启了一段小白&大师的成长史。

• 内连接的两种方式

在前面的文章中我们讲过两个概念，宽表和窄表，在现实业务中，数据库中很多表存储其实都是以窄表的形式来存储的，但是我们一般从数据库中获取信息的时候，都是需要同时从多...

• 干货 | 论文笔记：第一人称视角视频中的行人轨迹预测

AI 科技评论按：本文为上海交通大学林天威为 AI 科技评论撰写的独家稿件，得到了其指点和审核，AI 科技评论在此表示感谢。 视频中的人体动作分析是计算机视觉研...

• 最详细的自定义Spring Boot Starter开发教程

随着Spring的日渐臃肿，为了简化配置、开箱即用、快速集成，Spring Boot 横空出世。目前已经成为 Java 目前最火热的框架了。平常我们用Sprin...

• Spring Boot的自动配置、Command-line Runner

接下来关于SpringBoot的一系列文章和例子，都来自《Spring Boot Cookbook》这本书，本文的主要内容是start.spring.io的使用...

• Kubernetes核心概念总结

Master节点上面主要由四个模块组成：APIServer、scheduler、controller manager、etcd。

• Spring Boot：定制HTTP消息转换器

接下来关于SpringBoot的一系列文章和例子，都来自《Spring Boot Cookbook》这本书，本文的主要内容是start.spring.io的使用...

• 你需要了解springboot的一些基本理论

用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置（properties或yml 文件创建独立的spring引用程序 main方法运行嵌入...