R语言 为ggplot2绘图添加回归线

R语言 为ggplot2绘图添加回归线

回归模型是基于独立变量的目标预测值。它主要用于找出变量之间的关系并进行预测。不同的回归模型基于以下几点而不同–因变量和自变量之间的关系,他们考虑的是自变量的数量。

理解事物的最好方法是可视化,我们可以通过在数据集中绘制回归线来实现回归的可视化。在大多数情况下,我们使用散点图来表示我们的数据集,并画出回归线来直观地显示回归的效果。

方法

在R编程语言中,很容易将事物可视化。绘制回归线的方法包括以下步骤::

  • 创建数据集来绘制数据点
  • 使用ggplot2库,用ggplot()函数绘制数据点。
  • 使用 geom_point() 函数在散点图中绘制数据集
  • 使用任何一个平滑化函数在数据集上画一条回归线,包括使用lm()函数计算截距和斜率。下面显示了各种平滑函数。

方法1:使用stat_smooth()

在R语言中,我们可以使用stat_smooth()函数来平滑视觉效果。

语法: stat_smooth(method=”method_name”, formula=fromula_to_be_used, geom=’ method name’)

参数

  • method: 它是用于平滑线条的平滑方法(函数)。
  • formula: 它是在平滑函数中使用的公式。
  • geom: 它是用来显示数据的几何对象。

为了在stat_smooth()函数的帮助下在图形媒介上显示回归线,我们传递一个 方法“lm “,使用的公式为 y ~ x .geom‘smooth ‘ 。

# Create example data
rm(list = ls())
set.seed(87)                             
x <- rnorm(250)
y <- rnorm(250) + 2 *x
data <- data.frame(x, y)
  
# Print first rows of data
head(data)                                 
  
  
# Install & load ggplot2                
library("ggplot2")
  
# Create basic ggplot
# and Add regression line
ggp <- ggplot(data, aes(x, y)) +           
  geom_point()
ggp
ggp +                                     
  stat_smooth(method = "lm",
              formula = y ~ x,
              geom = "smooth")

输出

在R语言中为ggplot2绘图添加回归线

方法2:使用geom_smooth() 函数

在R语言中,我们可以使用geom_smooth()函数来表示回归线并使其平滑化。

语法: geom_smooth(method=”method_name”, formula=fromula_to_be_used)

参数

  • method: 它是用于平滑线的平滑方法(函数)。
  • formula: 它是平滑函数中使用的公式。

在这个例子中,我们使用的是波士顿数据集,其中包含来自一个名为MASS的软件包的房价数据。为了在geom_smooth()函数的帮助下在图形媒介上显示回归线,我们将方法“loess “,所用公式为 y ~ x。

# importing essential libraries
library(dplyr)
  
# Load the data
data("Boston", package = "MASS")
  
# Split the data into training and test set
training.samples <- Boston$medv %>%
  createDataPartition(p = 0.85, list = FALSE)
  
#Create train and test data
train.data  <- Boston[training.samples, ]
test.data <- Boston[-training.samples, ]
  
# plotting the data
ggp<-ggplot(train.data, aes(lstat, medv) ) +
  geom_point() 
  
# adding the regression line to it
ggp+geom_smooth(method = "loess",
              formula = y ~ x)

输出

在R语言中为ggplot2绘图添加回归线

方法3:使用geom_abline()

我们可以使用geom_abline()函数创建回归线。它使用的系数和截距是通过使用lm()函数进行线性回归计算出来的。

语法: geom_abline(intercept, slope, linetype, color, size)

参数

  • intercept: 要绘制的直线的计算截距。
  • slope: 要绘制的直线的斜率
  • linetype: 指定要画的线的类型
  • color: 要绘制的直线的颜色
  • size : 表示直线的大小

截距和斜率可以通过lm()函数轻松计算出来,该函数用于线性回归,然后是coefficients()。

rm(list = ls())
  
# Install & load ggplot2
library("ggplot2")
  
  
set.seed(87) 
  
# Create example data
x <- rnorm(250)
y <- rnorm(250) + 2 *x
data <- data.frame(x, y)
  
reg<-lm(formula = y ~ x,
   data=data)                      
  
#get intercept and slope value
coeff<-coefficients(reg)          
intercept<-coeff[1]
slope<- coeff[2]
  
# Create basic ggplot
ggp <- ggplot(data, aes(x, y)) +   
  geom_point()
  
# add the regression line
ggp+geom_abline(intercept = intercept, slope = slope, color="red", 
               linetype="dashed", size=1.5)+
  ggtitle("geeksforgeeks")         

输出

在R语言中为ggplot2绘图添加回归线

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程