Visualización de datos con R y ggplot2

El paquete ggplot2 en el lenguaje de programación R, también denominado Grammar of Graphics , 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.

Incluye varias capas sobre las que se rige. Las capas son las siguientes:

Building Blocks de capas con la gramática de gráficos

  • Datos: El elemento es el propio conjunto de datos.
  • Estética: los datos se asignan a los atributos de Estética, como eje x, eje y, color, relleno, tamaño, etiquetas, alfa, forma, ancho de línea, tipo de línea
  • Geometría: cómo se muestran nuestros datos usando punto, línea, histograma, barra, diagrama de caja
  • Facetas: Muestra el subconjunto de los datos usando Columnas y filas
  • Estadísticas: Binning, suavizado, descriptivo, intermedio
  • Coordenadas: el espacio entre los datos y la visualización usando límites cartesianos, fijos, polares
  • Temas: enlace sin datos

Conjunto de datos utilizado

mtcars (prueba de carretera de automóviles de tendencia del motor) comprende el consumo de combustible y 10 aspectos del diseño y el rendimiento del automóvil para 32 automóviles y viene preinstalado con el paquete dplyr en R.

R

# Installing the package
install.packages("dplyr")
  
# Loading package
library(dplyr)
  
# Summary of dataset in package
summary(mtcars)

Producción:

      mpg             cyl             disp             hp       
 Min.   :10.40   Min.   :4.000   Min.   : 71.1   Min.   : 52.0  
 1st Qu.:15.43   1st Qu.:4.000   1st Qu.:120.8   1st Qu.: 96.5  
 Median :19.20   Median :6.000   Median :196.3   Median :123.0  
 Mean   :20.09   Mean   :6.188   Mean   :230.7   Mean   :146.7  
 3rd Qu.:22.80   3rd Qu.:8.000   3rd Qu.:326.0   3rd Qu.:180.0  
 Max.   :33.90   Max.   :8.000   Max.   :472.0   Max.   :335.0  
      drat             wt             qsec             vs        
 Min.   :2.760   Min.   :1.513   Min.   :14.50   Min.   :0.0000  
 1st Qu.:3.080   1st Qu.:2.581   1st Qu.:16.89   1st Qu.:0.0000  
 Median :3.695   Median :3.325   Median :17.71   Median :0.0000  
 Mean   :3.597   Mean   :3.217   Mean   :17.85   Mean   :0.4375  
 3rd Qu.:3.920   3rd Qu.:3.610   3rd Qu.:18.90   3rd Qu.:1.0000  
 Max.   :4.930   Max.   :5.424   Max.   :22.90   Max.   :1.0000  
       am              gear            carb      
 Min.   :0.0000   Min.   :3.000   Min.   :1.000  
 1st Qu.:0.0000   1st Qu.:3.000   1st Qu.:2.000  
 Median :0.0000   Median :4.000   Median :2.000  
 Mean   :0.4062   Mean   :3.688   Mean   :2.812  
 3rd Qu.:1.0000   3rd Qu.:4.000   3rd Qu.:4.000  
 Max.   :1.0000   Max.   :5.000   Max.   :8.000  

Ejemplo de paquete ggplot2 en Programación R

Diseñamos visualizaciones en el conjunto de datos mtcars que incluye 32 marcas de automóviles y 11 atributos usando capas ggplot2 .

Capa de datos: 

En la capa de datos definimos la fuente de la información a visualizar, usemos el conjunto de datos mtcars en el paquete ggplot2

R

# Loading packages
library(ggplot2)
library(dplyr)
   
# Data Layer
ggplot(data = mtcars)

Producción:

Capa Estética:

Aquí mostraremos y mapearemos el conjunto de datos en cierta estética.

R

# Aesthetic Layer
ggplot(data = mtcars, aes(x = hp, y = mpg, col = disp))

Producción:

Capa geométrica:

En la capa geométrica, controle los elementos esenciales, vea cómo se muestran nuestros datos usando punto, línea, histograma, barra, diagrama de caja

R

# Geometric layer
ggplot(data = mtcars, 
       aes(x = hp, y = mpg, col = disp)) + geom_point()

Producción:

Capa geométrica: agregar tamaño, color y forma y luego trazar el gráfico de histograma

R

# Adding size
ggplot(data = mtcars, 
       aes(x = hp, y = mpg, size = disp)) + geom_point()
   
# Adding color and shape
ggplot(data = mtcars, 
       aes(x = hp, y = mpg, col = factor(cyl), 
                          shape = factor(am))) +
geom_point()
   
# Histogram plot
ggplot(data = mtcars, aes(x = hp)) +
       geom_histogram(binwidth = 5)

Producción:

Capa de facetas:

Se utiliza para dividir los datos en subconjuntos del conjunto de datos completo y permite que los subconjuntos se visualicen en el mismo gráfico. Aquí separamos filas según tipo de transmisión y Columnas separadas según cilindros

R

# Facet Layer
p <- ggplot(data = mtcars, 
            aes(x = hp, y = mpg, 
                shape = factor(cyl))) + geom_point()
  
# Separate rows according to transmission type
p + facet_grid(am ~ .)
   
# Separate columns according to cylinders
p + facet_grid(. ~ cyl)
  

Producción:

Capa de estadísticas

En esta capa, transformamos nuestros datos usando binning, suavizado, descriptivo, intermedio

R

# Statistics layer
ggplot(data = mtcars, aes(x = hp, y = mpg)) + 
                               geom_point() + 
       stat_smooth(method = lm, col = "red")

Producción:

Capa de coordenadas:

En estas capas, las coordenadas de los datos se asignan juntas al plano mencionado del gráfico y ajustamos el eje y cambiamos el espaciado de los datos mostrados con las dimensiones del gráfico de Control.

R

# Coordinates layer: Control plot dimensions
ggplot(data = mtcars, aes(x = wt, y = mpg)) +
                               geom_point() +
      stat_smooth(method = lm, col = "red") +
 scale_y_continuous("mpg", limits = c(2, 35), 
                          expand = c(0, 0)) +
  scale_x_continuous("wt", limits = c(0, 25),
            expand = c(0, 0)) + coord_equal()

Producción:

Coord_cartesian() para acercar correctamente:

R

# Add coord_cartesian() to proper zoom in
ggplot(data = mtcars, aes(x = wt, y = hp, col = am)) +
                        geom_point() + geom_smooth() +
                        coord_cartesian(xlim = c(3, 6))

Producción:

Capa de tema:

Esta capa controla los puntos más finos de la visualización, como el tamaño de la fuente y las propiedades del color de fondo.

Ejemplo 1: Capa de tema – función element_rect()

R

# Theme layer
ggplot(data = mtcars, aes(x = hp, y = mpg)) +
         geom_point() + facet_grid(. ~ cyl) +
        theme(plot.background = element_rect(
            fill = "black", colour = "gray"))

Producción:

Ejemplo 2:

R

ggplot(data = mtcars, aes(x = hp, y = mpg)) +
        geom_point() + facet_grid(am ~ cyl) + 
        theme_gray()

Producción:

ggplot2 proporciona varios tipos de visualizaciones. Se pueden usar más parámetros incluidos en el paquete, ya que el paquete brinda un mayor control sobre las visualizaciones de datos. Muchos paquetes pueden integrarse con el paquete ggplot2 para hacer que las visualizaciones sean interactivas y animadas.

Publicación traducida automáticamente

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