R语言ggplot拟合曲线添加方程、R方、P值并换行
- 如何添加方程和R方值:
可以使用ggpmisc包中的stat_poly_eq函数来添加方程和R方值。具体方法如下:
-
首先,需要安装ggpmisc包:install.packages('ggpmisc')
-
使用stat_poly_eq函数,指定需要添加方程和R方值的图层和公式类型。例如,对于二次方程,可以使用以下代码:
library(ggpmisc) ggplot(data = data, aes(x = x, y = y)) + geom_point() + stat_smooth(method = 'lm', formula = y ~ poly(x, 2)) + stat_poly_eq(formula = y ~ poly(x, 2), eq.with.lhs = 'italic(y)~`=`~', aes(label = paste(..eq.label.., ..rr.label.., sep = '*", "*')), parse = TRUE)解释一下代码中的参数:
- data:数据集。
- aes:映射变量。
- geom_point:点图层。
- stat_smooth:拟合曲线图层。
- method:拟合方法,这里使用lm表示线性模型。
- formula:拟合公式,这里使用二次方程。
- stat_poly_eq:添加方程和R方值的图层。
- formula:公式,与stat_smooth中的formula保持一致。
- eq.with.lhs:方程左侧的文本,这里为y=。
- aes:映射变量,用于控制方程和R方值的位置和样式。
- label:方程和R方值的标签。
- parse:解析标签中的LaTeX代码。
- 如何添加P值:
对于P值,可以使用ggpubr包中的stat_compare_means函数来添加。具体方法如下:
-
首先,需要安装ggpubr包:install.packages('ggpubr')
-
使用stat_compare_means函数,指定需要添加P值的图层和比较类型。例如,对于两组数据的比较,可以使用以下代码:
library(ggpubr) ggplot(data = data, aes(x = group, y = value, fill = group)) + geom_boxplot() + stat_compare_means(comparisons = list(c('A', 'B')), method = 't.test', label = 'p.format', label.y = 0.8)解释一下代码中的参数:
- data:数据集。
- aes:映射变量。
- geom_boxplot:箱线图层。
- stat_compare_means:添加P值的图层。
- comparisons:比较类型,这里为两组数据的比较。
- method:统计方法,这里使用t.test表示t检验。
- label:标签格式,这里为p.format表示显示P值。
- label.y:标签的y轴位置。
- 如何换行:
如果需要换行,可以在LaTeX代码中使用\newline或\来表示换行。例如,对于方程标签,可以使用以下代码:
stat_poly_eq(formula = y ~ poly(x, 2), eq.with.lhs = 'italic(y)~`=`~',
aes(label = paste(..eq.label..,'\newline',..rr.label.., sep = '*", "*')),
parse = TRUE)
注意,需要将sep参数设置为*"\newline"或"\"*来表示换行。
原文地址: https://www.cveoy.top/t/topic/mHGK 著作权归作者所有。请勿转载和采集!