Guía completa para diagramas de dispersión usando ggplot2 en R

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

Deja una respuesta

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