En este artículo, aprenderemos cómo trazar una línea suave usando ggplot2 en el lenguaje de programación R.
Usaremos el conjunto de datos » Arrestos estadounidenses » como un conjunto de datos de muestra para este artículo.
Murder Assault UrbanPop Rape Alabama 13.2 236 58 21.2 Alaska 10.0 263 48 44.5 Arizona 8.1 294 80 31.0 Arkansas 8.8 190 50 19.5 California 9.0 276 91 40.6 Colorado 7.9 204 78 38.7
Primero tracemos la línea de regresión.
Sintaxis:
geom_smooth(método= lm )
Hemos utilizado la función geom_smooth() para agregar una línea de regresión a nuestro diagrama de dispersión al proporcionar » método = lm » como argumento. Hemos establecido method=lm como lm significa Modelo lineal, que traza una línea de regresión lineal.
Pero podemos ver en el siguiente ejemplo que, aunque la línea de regresión lineal es una línea de mejor ajuste, no es una línea uniforme. Más adelante en este artículo, veremos cómo podemos trazar una línea suave usando múltiples enfoques.
Ejemplo:
R
library(ggplot2) plot <- ggplot(USArrests, aes(Murder,Assault)) + geom_point() plot + geom_smooth(method = lm)
Producción:
Método 1: Usar el método «loess» de la función geom_smooth()
Podemos trazar una línea suave usando el método “ loess ” de la función geom_smooth(). La única diferencia, en este caso, es que hemos pasado method=loess, a diferencia de lm en el caso anterior. Aquí, «loess» significa » ajuste de regresión local «. Este método traza una línea de regresión local suave.
Sintaxis:
geom_smooth(método = loess )
Ejemplo:
R
library(ggplot2) plot <- ggplot(USArrests, aes(Murder,Assault)) + geom_point() plot + geom_smooth(method = loess)
Producción:
Método 2: Uso de la interpolación polinomial
También podemos usar la fórmula: y~ploy(x,3), junto con el método del modelo lineal, que nos da la misma línea suave que en el ejemplo anterior. Pasa “ se ” como FALSO en el argumento. De forma predeterminada, el valor de » se » sigue siendo VERDADERO, lo que da como resultado trazar un intervalo de confianza alrededor de la línea uniforme.
Sintaxis:
geom_smooth(método = “lm”, fórmula = y ~ poly(x, 3) , se = FALSO)
Ejemplo:
R
library(ggplot2) plot <- ggplot(USArrests, aes(Murder,Assault)) + geom_point() plot + geom_smooth(method = "lm", formula = y ~ poly(x, 3), se = FALSE)
Producción:
Método 3: Uso de la función stat_smooth() con el método «loess»
stat_smooth() y geom_smooth() son alias. Ambos tienen los mismos argumentos y ambos se utilizan para trazar una línea suave. Podemos trazar una línea suave usando el método » loess » de la función stat_smooth() . La única diferencia, en este caso, es que hemos pasado method= loess , a diferencia de lm en el caso anterior. Aquí, «loess» significa «ajuste de regresión local» . Este método traza una línea de regresión local suave.
Sintaxis :
stat_smooth(método = loess)
Ejemplo:
R
library(ggplot2) plot <- ggplot(USArrests, aes(Murder, Assault)) + geom_point() plot + stat_smooth(method = loess)
Producción:
Método 4: interpolación spline
La regresión spline es un mejor método, ya que supera las deficiencias de la regresión polinomial, ya que la regresión polinomial solo pudo expresar una cantidad particular de curvatura. En palabras simples, los splines son funciones polinómicas por partes.
Para dibujar una spline, use la función spline al pasar el marco de datos para el trazado.
Sintaxis:
spline (atributos)
Ejemplo:
R
library(ggplot2) spline.d <- as.data.frame(spline(USArrests$Murder, USArrests$Assault)) plot <- ggplot(USArrests, aes(x = Murder, y = Assault))+geom_point() + geom_line(data = spline.d, aes(x = x, y = y)) plot
Producción:
Publicación traducida automáticamente
Artículo escrito por sudhanshublaze y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA