ggplot绘制散点图并添加拟合曲线和方程

载入包

建完回归模型后想看一下模型的效果,文献中一般都是使用散点图+lm拟合曲线+Rsquared来表示

  • Cairo包用来导出pdf图片,尝试过多种通过代码保存pdf的方法,最后发现Cairo最好用,很少遇到字体不兼容的问题
pacman::p_load(ggplot2,ggtrendline,Cairo)

看一下我的数据

> end_data
       predict     real
3192T 3.743376 3.567744
3222T 3.716128 3.660186
3229T 3.894045 3.964088
3262T 3.920661 4.113444
3274T 4.026531 4.145387
3278T 3.736389 3.698550
3282T 3.723784 3.641492
3294T 3.792821 3.846829
3385T 3.761303 3.884813
3419T 3.792147 3.674821

ggtrendline函数

R包ggtrendline中的ggtrendline函数可以快速构建拟合曲线,其中method函数用来指定拟合曲线的类型

  • “line2P” (formula as: y=a*x+b),
  • “line3P” (y=a _x^2+b_x+c),
  • “log2P” (y=a*ln(x)+b),
  • “exp2P” (y=a _exp(b_x)),
  • “exp3P” (y=a _exp(b_x)+c),
  • “power2P” (y=a*x^b),
  • and “power3P” (y=a*x^b+c).

ggtrendline函数的返回值

  • 其返回值中明确的包含了R^2,p值等信息,并且会自动添加到图上
  • 也可以在使用该函数计算想要的统计量之后,通过ggplot绘制散点图并使用geom_smooth(method=”lm”)达到同样的效果,最后再将统计量添加到图上,个人感觉直接使用ggtrendline会更简便,而且支持ggplot的主题系统和图层添加功能;

`r

ggtrendline(end_data$predict,end_data$real)

Call:
lm(formula = y ~ x)

Residuals:
Min 1Q Median 3Q Max
-0.13173 -0.05057 0.00246 0.04718 0.15333

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.986 1.161 -2.57 0.03300 *
x 1.786 0.304 5.87 0.00038 ***

Original: https://blog.csdn.net/qq_42756195/article/details/125174214
Author: melody359
Title: ggplot绘制散点图并添加拟合曲线和方程

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/626809/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球