Cómo crear un diagrama de dispersión con una línea de regresión en R

Actualizado por ultima vez el 7 de mayo de 2021, por .

A menudo, cuando realizamos una regresión lineal simple, nos interesa crear un diagrama de dispersión para visualizar las diversas combinaciones de valores xey.

Afortunadamente, R facilita la creación de diagramas de dispersión utilizando la función plot () . Por ejemplo:

#crear algunos datos falsos
data <- data.frame (x = c (1, 1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 11, 11),
                   y = c (13, 14, 17, 12, 23, 24, 25, 25, 24, 28, 32, 33, 35, 40, 41))

#create un diagrama de dispersión de datos
plot (datos $ x, datos $ y)

Diagrama de dispersión en R

También es fácil agregar una línea de regresión al diagrama de dispersión usando la función abline () . Por ejemplo:

#ajustar un modelo de regresión lineal simple
modelo <- lm (y ~ x, datos = datos)

#agregar la línea de regresión ajustada a la línea de la 
gráfica de dispersión (modelo)

Diagrama de dispersión con línea de regresión en R

También podemos agregar líneas de intervalo de confianza a la gráfica usando la función de predicción () . Por ejemplo:

#definir rango de valores x
newx = seq (min (datos $ x), max (datos $ x), por = 1)

# encontrar el intervalo de confianza del 95% para el rango de valores de x 
conf_interval <- predict (model, newdata = data.frame (x = newx), interval = "confianza",
                         nivel = 0,95)

#create un diagrama de dispersión de valores con una línea de regresión 
plot (datos $ x, datos $ y)
abline (modelo)

# agregue líneas discontinuas (lty = 2) para el intervalo de confianza del 95%
líneas (newx, conf_interval [, 2], col = "blue", lty = 2)
líneas (newx, conf_interval [, 3], col = "blue", lty = 2)

Recta de regresión con intervalo de confianza en R

O, en su lugar, podríamos agregar líneas de intervalo de predicción al gráfico especificando el tipo de intervalo dentro de la función predict () . Por ejemplo:

#definir rango de valores x
newx = seq (min (datos $ x), max (datos $ x), por = 1)

# encontrar el intervalo de predicción del 95% para el rango de valores x  
pred_interval <- predict (model, newdata = data.frame (x = newx), interval = "prediction" ,
                         nivel = 0,95)

#create un diagrama de dispersión de valores con una línea de regresión 
plot (datos $ x, datos $ y)
abline (modelo)

# agregue líneas discontinuas (lty = 2) para el intervalo de confianza del 95%
líneas (newx, pred_interval [, 2], col = "red", lty = 2)
líneas (newx, pred_interval [, 3], col = "red", lty = 2)

Línea de regresión con líneas de intervalo de predicción en R

Por último, podemos hacer que la trama sea más agradable desde el punto de vista estético agregando un título, cambiando los nombres de los ejes y cambiando la forma de los puntos individuales en la trama.

plot (datos $ x, datos $ y,
     main = "Scatterplot of x vs. y", #add title 
     pch = 16, #specify points to be fill in 
     xlab = 'x', #change x-axis name
      ylab = 'y') #cambiar el nombre del eje y

abline (model, col = 'steelblue') #especificar el color de la línea de regresión 

Línea de regresión con diagrama de dispersión en R

Recursos adicionales

Cómo etiquetar puntos en un diagrama de dispersión en R
Cómo usar la función Jitter en R para diagramas de dispersión

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

El sesgo de autoselección ocurre cuando los individuos se seleccionan a sí mismos para ser incluidos en una encuesta. Por…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!