📅  最后修改于: 2023-12-03 15:27:33.088000             🧑  作者: Mango
如果你是一位数据分析师或数据科学家,你肯定会经常用到线性回归和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_point
和 geom_smooth
函数不仅可以绘制散点图,而且可以绘制线性回归线。最后,我们使用了geom_text
添加文本标签和系数,以便于更好地展示图表的直观理解。在这里,我们使用了 R 的 coefficients
函数来获取线性模型的系数,并使用 paste
函数将其转化为文本。
下面是输出结果:
如上图所示,使用 geom_text
标注文本标签和系数,使得直观感受更加明显,也让结果更加易于理解。