Regresión lineal múltiple usando ggplot2 en R

Una línea de regresión se usa básicamente en modelos estadísticos que ayudan a estimar la relación entre una variable dependiente y al menos una variable independiente. Hay dos tipos de líneas de regresión:

  • Línea de regresión única.
  • Líneas de regresión múltiple.

En este artículo, vamos a discutir cómo trazar múltiples líneas de regresión en el lenguaje de programación R usando el diagrama de dispersión ggplot2.

Conjunto de datos utilizado: aquí estamos utilizando un marco de datos integrado «Orange» que consta de detalles sobre el crecimiento de cinco tipos diferentes de naranjos. El marco de datos tiene 35 filas y 3 columnas. Las columnas en este marco de datos son:

  • Árbol: El orden de los árboles en los que se realiza el experimento sobre la base de valores crecientes de diámetro de la naranja.
  • Edad: La edad de los árboles desde que fueron plantados.
  • Circunferencia: La circunferencia de la naranja.

Primero creamos un gráfico de dispersión. Usaremos la función geom_point( ) para trazar el diagrama de dispersión que viene en la biblioteca ggplot2. 

Sintaxis:

geom_point(mapeo=NULL, data=NULL, stat=identidad, posición=”identidad”)

Básicamente, estamos haciendo un análisis comparativo de la circunferencia vs edad de las naranjas. La función utilizada es geom_smooth() para trazar una línea suave o una línea de regresión. 

Sintaxis: geom_smooth(método=”auto”,se=FALSO,rango completo=VERDADERO,nivel=0.95)

Parámetro:

  • método: el método de suavizado se asigna mediante la palabra clave loess, lm, glm, etc.
  • lm : modelo lineal, loess : predeterminado para líneas suaves durante observaciones de conjuntos de datos pequeños.
  • fórmula: También puede usar fórmulas para suavizar las líneas. Por ejemplo: y~poly(x,4) que trazará una línea suave de grado 4. Cuanto mayor sea el grado, más curvas tendrá la línea suave.
  • se : Toma valores lógicos ya sea “VERDADERO” o “FALSO”.
  • fullrange : Toma valor lógico ya sea “VERDADERO” o “FALSO”.
  • nivel: Por defecto, el nivel es 0,95 para el intervalo de confianza.

Primero dibujemos una regresión simple de una sola línea y luego aumentemos la complejidad a varias líneas.

Ejemplo:

R

# Scatter Plot
library(ggplot2)
  
ggplt <- ggplot(Orange,aes(x=circumference,y=age))+
         geom_point()+
         theme_classic()
  
ggplt
  
# Plotting a single Regression Line
ggplt+geom_smooth(method=lm,se=FALSE,fullrange=TRUE)

Producción:

Esta es una sola línea suave o popularmente conocida como línea de regresión. Aquí, los puntos se combinan y no se segregan sobre la base de ningún grupo.

La regresión lineal múltiple tratará con el mismo parámetro, pero cada línea representará un grupo diferente. Entonces, si queremos graficar los puntos según el grupo al que pertenecen, necesitamos varias líneas de regresión. Cada línea de regresión estará asociada a un grupo. 

Fórmula básica para líneas de regresión múltiple:

La sintaxis en R para calcular los coeficientes y otros parámetros relacionados con las líneas de regresión múltiple es:

var <- lm(fórmula, datos = nombre_conjunto_datos)

resumen (var)

lm : modelo lineal 

var: nombre de la variable 

Para calcular varias líneas de regresión en el mismo gráfico, establezca el atributo sobre la base de qué grupos se deben formar para dar forma al parámetro.

Sintaxis:

forma = atributo    

Una sola línea de regresión está asociada con un solo grupo que se puede ver en las leyendas de la gráfica. Ahora, para asignar diferentes colores a cada línea de regresión, escriba el comando:

color = atributo

Ejemplo:

R

library(ggplot2)
  
ggplt <- ggplot(Orange,aes(x=circumference,y=age,shape=Tree))+
         geom_point()+
         theme_classic()
  
ggplt
  
# Plotting multiple Regression Lines
ggplt+geom_smooth(method=lm,se=FALSE,fullrange=TRUE,
                  aes(color=Tree))

Producción:

Publicación traducida automáticamente

Artículo escrito por rishabhchakrabortygfg 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 *