📜  线性回归 r 文本标签系数 ggplot (1)

📅  最后修改于: 2023-12-03 15:27:33.088000             🧑  作者: Mango

线性回归 r 文本标签系数 ggplot

如果你是一位数据分析师或数据科学家,你肯定会经常用到线性回归和ggplot来可视化数据。在这篇文章中,我们将介绍如何使用R编程语言使用 ggplot2 包中的geom_text功能,在图上添加线性回归的文本标签和系数。

线性回归分析

线性回归是一种广泛的预测分析技术。它是一种可以用来建立变量之间线性关系的模型。这个模型可以用于预测新的数据点。例如,你可能有一个数据集,其中包含有关房屋面积和房屋价格的数据。使用线性回归模型,你可以预测在已知面积的情况下对应的房价是多少。

在这里,我们将使用 mtcars 数据集中 mpg 和 wt 变量的值来展示如何使用线性回归和 ggplot 可视化这两个变量之间的关系。

library(ggplot2)

data(mtcars)
fit <- lm(mpg ~ wt, data = mtcars)

summary(fit)

下面是输出结果:

Call:
lm(formula = mpg ~ wt, data = mtcars)

Residuals:
    Min      1Q  Median      3Q     Max 
-4.5432 -2.3647 -0.1252  1.4096  6.8727 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  37.2851     1.8776  19.858  < 2e-16 ***
wt           -5.3445     0.5591  -9.559 1.29e-10 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 3.046 on 30 degrees of freedom
Multiple R-squared:  0.7528,	Adjusted R-squared:  0.7446 
F-statistic: 91.38 on 1 and 30 DF,  p-value: 1.294e-10

在这里,我们可以看到线性回归模型的摘要(summary)。从摘要中可以看到,模型估计 mpg 和 wt 之间的线性关系(Estimate = -5.3445),拟合效果很好(Multiple R-squared = 0.7528)。

添加文本标签和系数

在利用ggplot 绘制散点图后,你可以很容易地使用 geom_text 添加线性回归的文本标签和系数,用于展示图表的直观理解。

ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point() +
  geom_smooth(method = "lm", se = FALSE, color = "red", size = 1) +
  geom_text(aes(x = 5, y = 25, hjust = 0, label = paste("Slope = ", round(coefficients(fit)[2], 2))),
            color = "blue", parse = TRUE, size = 4) +
  geom_text(aes(x = 5, y = 24, hjust = 0, label = paste("Intercept = ", round(coefficients(fit)[1], 2))),
            color = "blue", parse = TRUE, size = 4)

上述代码中,我们使用了geom_pointgeom_smooth 函数不仅可以绘制散点图,而且可以绘制线性回归线。最后,我们使用了geom_text 添加文本标签和系数,以便于更好地展示图表的直观理解。在这里,我们使用了 R 的 coefficients 函数来获取线性模型的系数,并使用 paste 函数将其转化为文本。

下面是输出结果:

Image of R plot

如上图所示,使用 geom_text 标注文本标签和系数,使得直观感受更加明显,也让结果更加易于理解。