Agregue la línea de regresión al gráfico ggplot2 en R

La regresión modela un valor de predicción objetivo basado en variables independientes. Se utiliza principalmente para averiguar la relación entre las variables y la previsión. Los diferentes modelos de regresión difieren según el tipo de relación entre las variables dependientes e independientes que están considerando y la cantidad de variables independientes que se utilizan.

La mejor manera de entender las cosas es visualizar, podemos visualizar la regresión trazando líneas de regresión en nuestro conjunto de datos. En la mayoría de los casos, usamos un diagrama de dispersión para representar nuestro conjunto de datos y dibujamos una línea de regresión para visualizar cómo funciona la regresión.

Acercarse:

En el lenguaje de programación R es fácil visualizar las cosas. El enfoque para trazar la línea de regresión incluye los siguientes pasos:-

  • Crear el conjunto de datos para trazar los puntos de datos
  • Use la biblioteca ggplot2 para trazar los puntos de datos usando la función ggplot()
  • Utilice la función geom_point() para trazar el conjunto de datos en un diagrama de dispersión
  • Use cualquiera de las funciones de suavizado para dibujar una línea de regresión sobre el conjunto de datos que incluye el uso de la función lm() para calcular la intersección y la pendiente de la línea. Varias funciones de suavizado se muestran a continuación.

Método 1: Usar stat_smooth()

En R podemos usar la función stat_smooth() para suavizar la visualización.

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

Parámetros: 

  • método: Es el método de suavizado (función) a usar para suavizar la línea
  • fórmula: Es la fórmula a utilizar en la función de suavizado
  • geom: Es el objeto geométrico a usar para mostrar los datos

Para mostrar la línea de regresión en el medio gráfico con la ayuda de la función stat_smooth(), pasamos un método como «lm», la fórmula utilizada como y ~ x . y geom como ‘suave’

R

# 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")

Producción:

Método 2: Usar geom_smooth()

En R podemos usar la función geom_smooth() para representar una línea de regresión y suavizar la visualización. 

Sintaxis: geom_smooth(method=”method_name”, formula=fromula_to_be_used)

Parámetros:

  • método: Es el método de suavizado (función) a usar para suavizar la línea
  • fórmula: Es la fórmula a utilizar en la función de suavizado

En este ejemplo, usamos el conjunto de datos de Boston que contiene datos sobre los precios de la vivienda de un paquete llamado MASS. Para mostrar la línea de regresión en el medio gráfico con la ayuda de la función geom_smooth(), pasamos el método como «loess» y la fórmula utilizada como y ~ x .

R

# 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)

Producción:

Método 3: Usar geom_abline()

Podemos crear la línea de regresión usando la función geom_abline(). Utiliza el coeficiente y las intersecciones que se calculan aplicando la regresión lineal mediante la función lm().

Sintaxis: geom_abline(intersección, pendiente, tipo de línea, color, tamaño)

Parámetros:

  • intercepción: la intersección y calculada de la línea que se dibujará
  • pendiente: Pendiente de la recta a trazar
  • tipo de línea: especifica el tipo de línea que se va a dibujar 
  • color: Color del solitario a dibujar
  • tamaño: Indica el tamaño de la línea

La intersección y la pendiente se pueden calcular fácilmente mediante la función lm() que se utiliza para la regresión lineal seguida de coeficientes(). 

R

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")         

Producción:

Publicación traducida automáticamente

Artículo escrito por pulkit12dhingra y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *