En este artículo, vamos a ver cómo usar diagramas de dispersión usando ggplot2 en el lenguaje de programación R.
El paquete ggplot2 es un paquete de visualización gratuito, de código abierto y fácil de usar ampliamente utilizado en R. Es el paquete de visualización más poderoso escrito por Hadley Wickham. Este paquete se puede instalar usando la función de R install.packages().
install.packages("ggplot2")
Un diagrama de dispersión usa puntos para representar valores para dos variables numéricas diferentes y se usa para observar las relaciones entre esas variables. Para trazar el diagrama de dispersión usaremos la función geom_point(). A continuación se incluye información breve sobre la función ggplot, geom_point().
Sintaxis: geom_point(tamaño, color, relleno, forma, trazo)
Parámetro:
- tamaño : Tamaño de los puntos
- color : Color de Puntos/Borde
- relleno: color de los puntos
- forma: forma de puntos en un rango de 0 a 25
- trazo : Grosor del borde del punto
- Retorno: Crea diagramas de dispersión.
Ejemplo: Diagrama de dispersión simple
R
library(ggplot2) ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) + geom_point()
Producción:
Diagrama de dispersión con grupos
Aquí utilizaremos distinguir los valores por un grupo de datos (es decir, datos de nivel de factor). La función aes() controla el color del grupo y debe ser factor variable.
Sintaxis:
aes(color = factor(variable))
Ejemplo: Diagrama de dispersión con grupos
R
# Scatter plot with groups ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) + geom_point(aes(color = factor(Sepal.Width)))
Producción:
cambiando de color
Aquí usamos los atributos de color de los métodos aes() para cambiar el color de los puntos de datos con variables específicas.
Ejemplo: cambio de color
R
# Changing color ggplot(iris) + geom_point(aes(x = Sepal.Length, y = Sepal.Width, color = Species))
Producción:
Cambiando forma
Para cambiar la forma de los puntos de datos, usaremos atributos de forma con métodos aes().
Ejemplo: cambio de forma
R
# Changing point shapes in a ggplot scatter plot # Changing color ggplot(iris) + geom_point(aes(x = Sepal.Length, y = Sepal.Width, shape = Species , color = Species))
Producción:
Cambiando la estética del tamaño
Para cambiar la estética o los puntos de datos, usaremos atributos de tamaño en los métodos aes().
Ejemplo: cambio de tamaño
R
# Changing the size aesthetic mapping in a # ggplot scatter plot ggplot(iris) + geom_point(aes(x = Sepal.Length, y = Sepal.Width, size = .5))
Producción:
Etiquetar puntos en el diagrama de dispersión
Para implementar las etiquetas en el punto de datos, usaremos la etiqueta en los métodos geom_text().
Ejemplo: rotular puntos en el diagrama de dispersión
R
# Label points in the scatter plot ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) + geom_point() + geom_text(label=rownames(iris))
Producción:
Líneas de regresión en ggplot2
Los modelos de regresión con un valor de predicción objetivo admiten variables independientes y se utilizan principalmente para descubrir la relación entre las variables y la previsión. 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
Ejemplo: línea de regresión
R
# Add regression lines with stat_smooth ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) + geom_point() + stat_smooth(method=lm)
Producción:
Ejemplo: uso de stat_mooth con modo loess
R
# Add regression lines with stat_smooth ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) + geom_point() + stat_smooth()
Producción:
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
Ejemplo: Usar geom_smooth()
R
# Add regression lines with geom_smooth ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) + geom_point() + geom_smooth()
Producción:
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.
Ejemplo: geom_smooth con modo loess
R
# Add regression lines with geom_smooth ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) + geom_point() + geom_smooth(method=lm, se=FALSE)
Producción:
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().
Ejemplo: intersección y pendiente
R
# Add regression lines with geom_smooth ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) + geom_point() + geom_smooth(intercept = 37, slope = -5, color="red", linetype="dashed", size=1.5)
Producción:
Cambiar el color/forma/tamaño del punto manualmente
scale_fill_manual, scale_size_manual, scale_shape_manual, scale_linetype_manual, son tipos incorporados que asignan los colores deseados a los datos categóricos, usamos una de ellas, la función scale_color_manual(), que se usa para escalar (mapa).
Sintaxis:
- scale_shape_manualValue) para formas de puntos
- scale_color_manual(Valor) para colores de punto
- scale_size_manual(Valor) para tamaños en puntos
Parámetro:
- valores: un conjunto de valores estéticos para mapear los datos. Aquí tomamos el conjunto de colores deseado.
Retorno: escala los valores manuales de los colores en los datos
Ejemplo: Cambio de estética
R
# Change the point color/shape/size manually library(ggplot2) # Change point shapes and colors manually ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) + geom_point() + geom_smooth(method=lm, se=FALSE, fullrange=TRUE)+ scale_shape_manual(values=c(3, 16, 17))+ scale_color_manual(values=c('#999999','#E69F00', '#56B4E9'))+ theme(legend.position="top")
Producción:
Alfombras marginales a un diagrama de dispersión
Para agregar alfombras marginales al diagrama de dispersión, usaremos los métodos geom_rug().
Ejemplo: alfombras marginales
R
# Add marginal rugs to a scatter plot # Changing point shapes in a ggplot scatter plot # Changing color ggplot(iris) + geom_point(aes(x = Sepal.Length, y = Sepal.Width, shape = Species , color = Species))+ geom_rug()
Producción:
Aquí agregaremos alfombras marginales en el gráfico de dispersión.
Ejemplo: alfombras marginales
R
# Add marginal rugs to a scatter plot ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) + geom_point()+ geom_rug()
Producción:
Gráficos de dispersión con la estimación de densidad 2-D
Para crear una estimación de densidad en un gráfico de dispersión, utilizaremos los métodos geom_density_2d() y geom_density_2d_filled() de ggplot2.
Sintaxis: ggplot(aes(x)) + geom_density_2d(fill, color, alpha)
Parámetros:
- relleno: color de fondo debajo de la trama
- color: el color de la trama
- alfa: transparencia del gráfico
Ejemplo: Diagramas de dispersión con estimación de densidad 2-D
R
# Scatter plots with the 2d density estimation ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) + geom_point()+ geom_density_2d()
Producción:
Usando geom_density_2d_filled() para visualizar la situación del color dentro de los puntos de datos
Ejemplo: Agregar estética
R
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) + geom_point()+ geom_density_2d(alpha = 0.5)+ geom_density_2d_filled()
Producción:
stat_density_2d() también se puede usar para implementar la estimación de densidad 2d.
Ejemplo: Estimación de la densidad de despliegue
R
# Scatter plots with the 2d density estimation ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) + geom_point()+ stat_density_2d()
Producción:
Diagramas de dispersión con elipses
Para agregar un círculo o una elipse alrededor de un grupo de puntos de datos, usamos la función stat_ellipse(). Esta función calcula automáticamente el radio del círculo/elipse para dibujar alrededor del grupo de puntos por datos categóricos.
Ejemplo: Diagrama de dispersión con elipses
R
# Scatter plots with ellipses ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) + geom_point()+ stat_ellipse()
Producción:
Publicación traducida automáticamente
Artículo escrito por kumar_satyam y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA