Diagrama de caja en R usando ggplot2

En este artículo, vamos a crear un Boxplot con varias funcionalidades en el lenguaje de programación R utilizando el paquete ggplot2. 

Para las distribuciones de datos, es posible que necesite más información que los valores de tendencia central (mediana, media, moda). Para analizar la variabilidad de los datos, necesita saber qué tan dispersos están los datos. Bueno, un diagrama de caja es un gráfico que ilustra la distribución de valores en los datos. Los diagramas de caja se usan comúnmente para mostrar la distribución de datos de manera estándar al presentar cinco valores de resumen. La siguiente lista resume los valores mínimo, Q1 (primer cuartil), mediana, Q3 (tercer cuartil) y máximo. Resumir estos valores puede proporcionarnos información sobre nuestros valores atípicos y sus valores.  

En ggplot2, geom_boxplot() se usa para crear un diagrama de caja.

Sintaxis: geom_boxplot( mapeo = NULL, data = NULL, stat = “identidad”, posición = “identidad”, …, valor atípico.color = NULL, valor atípico.color = NULL, valor atípico.relleno = NULL, valor atípico.forma = 19, valor atípico.tamaño = 1,5, muesca = FALSO, na.rm = FALSO, mostrar.leyenda = FALSO, heredar.aes = FALSO)

Conjunto de datos en uso : Crop_recommendation

Primero creemos un diagrama de caja regular, para eso primero tenemos que importar todas las bibliotecas requeridas y el conjunto de datos en uso. Luego simplemente coloque todos los atributos para graficar en la función ggplot() junto con geom_boxplot.

Ejemplo:

R

library(ggplot2)
  
# Create the dataset or load the dataset 
# for the chart
Dataset <- c(17, 32, 8, 53, 1,45,56,678,23,34)
Dataset
  
# loading data set and storing it in ds variable
ds <- read.csv(
  "c://crop//archive//Crop_recommendation.csv", header = TRUE)
  
# create a boxplot by using geom_boxplot() function
# of ggplot2 package
crop=ggplot(data=ds, mapping=aes(x=label, y=temperature))+geom_boxplot()
crop

 Salida

Agregar valor medio a la gráfica de caja

El valor medio también se puede agregar a un diagrama de caja, para eso tenemos que especificar la función que estamos usando, dentro de stat_summary(). Esta función se utiliza para agregar nuevos valores de resumen y agregar estos valores de resumen al gráfico. Al usar esta función, no necesita calcular los valores medios antes de trazar.

Sintaxis: 

stat_summary (diversión, geom)

Ejemplo:

R

library(ggplot2)
  
# loading data set and storing it in ds variable
ds <- read.csv(
  "c://crop//archive//Crop_recommendation.csv", header = TRUE)
  
# add mean to ggplot2 boxplot
ggplot(ds, aes(x = label, y = temperature, fill = label)) + 
  geom_boxplot() +
  stat_summary(fun = "mean", geom = "point", shape = 8,
               size = 2, color = "white")

Producción:

Ahora analicemos la posición de la leyenda en Boxplot usando la función theme(). Podemos cambiar la posición de la leyenda a la parte superior o inferior, o puede eliminar la posición de la leyenda en un diagrama de caja. Es posible personalizar los componentes de la trama, como títulos, etiquetas, fuentes, fondo, líneas de cuadrícula y leyendas mediante el uso de temas. Las tramas se pueden personalizar mediante el uso de temas. Puede modificar el tema de una sola trama usando el método theme() o puede modificar el tema activo, que afectará a todas las tramas subsiguientes, llamando a theme_update().

Sintaxis:

tema( línea, rect, texto, título, relación de aspecto, eje.título, eje.título.x, eje.título.x.superior, eje.título.x.inferior, eje.título.y, eje.título. y.izquierda, eje.título.y.derecha, eje.texto, eje.texto.x, eje.texto.x.arriba, eje.texto.x.abajo, eje.texto.y, eje.texto.y. izquierda, ……, validar = VERDADERO)

En esta función, si establece el argumento legend.position en la parte superior o inferior, la posición cambiará.

Ejemplo:

R

library(ggplot2)
  
# loading data set and storing it in ds variable
ds <- read.csv("c://crop//archive//Crop_recommendation.csv", header = TRUE)
  
# change the legend position in R using ggplot2
ggplot(ds, aes(x = label, y = temperature, fill = label)) + 
  geom_boxplot() +
  theme(legend.position = "top")

Producción:

Diagrama de caja horizontal usando ggplot2 en R

Los diagramas de caja también se pueden colocar horizontalmente usando la función coord_flip(). Esta función solo cambia los ejes x e y.

Ejemplo:

R

library(ggplot2)
  
# loading data set and storing it in ds variable
ds <- read.csv("c://crop//archive//Crop_recommendation.csv", header = TRUE)
  
# Creating a Horizontal Boxplot using ggplot2 in R
ggplot(ds, aes(x = label, y = temperature, fill = label)) + 
  geom_boxplot() +
  coord_flip()

Producción:

Cambiar los colores de las líneas del gráfico de caja 

1) por defecto

Use el comando color=label para agregar color al contorno de las barras. 

Sintaxis:

color=etiqueta

Ejemplo:

R

library(ggplot2)
  
# loading data set and storing it in ds variable
ds <- read.csv(
  "c://crop//archive//Crop_recommendation.csv", header = TRUE)
  
# Change box plot line colors by groups
crop2<-ggplot(ds, aes(x=label, y=temperature, color=label)) +
  geom_boxplot()
crop2

Producción:

2) Manualmente

  • Uso de paletas de colores personalizadas: para usar paletas de colores personalizadas, use la función scale_color_manual() y, dentro de esta función, proporcione un color de contorno para cada diagrama de caja.

Ejemplo:

R

library(ggplot2)
  
# loading data set and storing it in ds variable
ds <- read.csv("c://crop//archive//Crop_recommendation.csv", header = TRUE)
  
# Change box plot line colors by groups
crop2<-ggplot(ds, aes(x=label, y=temperature, color=label)) +
  geom_boxplot()
crop2
   
# Now, it is also possible to change line colors manually
crop2+scale_color_manual(values=c("#999999", "#E69F00", 
                                  "#56B4E9","#999999","Red",
                                  "green","yellow"))

Producción:

  • Uso de paletas de colores de cervecero: puede cambiar el color del contorno del gráfico de caja con las paletas de colores de cervecero. Para hacerlo, solo necesita usar la función scale_color_brewer() y establecer el argumento de la paleta dentro de esta función. 

Sintaxis:

scale_color_brewer(paleta)

Ejemplo:

R

library(ggplot2)
  
# loading data set and storing it in ds variable
ds <- read.csv(
  "c://crop//archive//Crop_recommendation.csv", header = TRUE)
  
# Change box plot line colors by groups
crop2<-ggplot(ds, aes(x=label, y=temperature, color=label)) +
  geom_boxplot()
crop2
  
# for Using brewer color palettes
crop2+scale_color_brewer(palette="Dark2")

Producción:

  • Uso de escala de grises: para usar la paleta de colores en escala de grises, debe usar la función scale_color_grey() y agregarle la función theme_classic().

Ejemplo:

R

library(ggplot2)
  
# loading data set and storing it in ds variable
ds <- read.csv("c://crop//archive//Crop_recommendation.csv", header = TRUE)
  
# Change box plot line colors by groups
crop2<-ggplot(ds, aes(x=label, y=temperature, color=label)) +
  geom_boxplot()
  
# for using grey scale
crop2 + scale_color_grey() + theme_classic()

Producción:

Rellena el diagrama de caja con color. 

1) Predeterminado: para llenar el diagrama de caja con su elección de color, puede usar el comando de atributo de relleno para agregar colores dentro de la función geom_boxplot(). El relleno estará bajo geom_boxplot() ya que es variable en este caso.

Sintaxis:

relleno = ‘color’

Ejemplo:

R

library(ggplot2)
  
# loading data set and storing it in ds variable
ds <- read.csv("c://crop//archive//Crop_recommendation.csv", header = TRUE)
  
# Now fill the boxplot with choice of your color
crop1=ggplot(data=ds, mapping=aes(x=label, y=temperature))+
geom_boxplot(fill='green')
crop1

Producción:

Para llenar el color del diagrama de caja de forma predeterminada, solo necesita incluir el atributo de relleno en la función aes() dentro de ggplot(). El relleno estará dentro de aes() bajo ggplot() ya que es variable en este caso.

Sintaxis:

relleno = etiqueta

Ejemplo:

R

library(ggplot2)
  
# loading data set and storing it in ds variable
ds <- read.csv("c://crop//archive//Crop_recommendation.csv", header = TRUE)
  
# Change Colors of a ggplot2 Boxplot in R 
crop3<-ggplot(ds, aes(x = label, y = temperature, fill = label)) + 
  geom_boxplot(outlier.colour="black", outlier.shape=16, outlier.size=2)

Producción:

2) Manualmente: si desea cambiar los colores del gráfico de caja manualmente, puede usar tres funciones scale_fill_manual(), scale_fill_brewer() y scale_fill_grey() según su elección.

  • Uso de paletas de colores personalizadas: Para usar paletas de colores personalizadas se usa la función scale_fill_manual() y valores de colores como argumento.

Sintaxis:

scale_fill_manual(valores)

Ejemplo:

R

library(ggplot2)
  
# loading data set and storing it in ds variable
ds <- read.csv(
  "c://crop//archive//Crop_recommendation.csv", header = TRUE)
  
crop3<-ggplot(ds, aes(x = label, y = temperature, fill = label)) + 
  geom_boxplot(outlier.colour="black", outlier.shape=16, outlier.size=2)
  
crop3+scale_fill_manual(values=c("#999999", "#E69F00", "#56B4E9",
                                 "#999999","Red","green","yellow"))

Producción:

  • Uso de paletas de colores de cervecero: Para usar paletas de colores de cervecero scale_fill_brewer() del paquete y paleta RColorBrewer como argumento

Sintaxis:

scale_fill_brewer(paleta)

Ejemplo:

R

library(ggplot2)
  
# loading data set and storing it in ds variable
ds <- read.csv("c://crop//archive//Crop_recommendation.csv", header = TRUE)
  
crop3<-ggplot(ds, aes(x = label, y = temperature, fill = label)) + 
  geom_boxplot(outlier.colour="black", outlier.shape=16, outlier.size=2)
  
crop3+scale_fill_brewer(palette="Dark1")

Producción:

  • Uso de escala de grises: para rellenar el color de los diagramas de caja con escala de grises, use scale_fill_grey() con theme_classic().

Ejemplo:

R

library(ggplot2)
  
# loading data set and storing it in ds variable
ds <- read.csv("c://crop//archive//Crop_recommendation.csv", header = TRUE)
  
crop3<-ggplot(ds, aes(x = label, y = temperature, fill = label)) + 
  geom_boxplot(outlier.colour="black", outlier.shape=16, outlier.size=2)
  
# for using grey scale
crop3 + scale_fill_grey() + theme_classic()

Producción:

Adición de nerviosismo en diagramas de caja

Los jitters son muy útiles para manejar los problemas de trazado excesivo causados ​​por conjuntos de datos discretos. También puede ajustar las posiciones de las fluctuaciones y, para hacerlo, solo necesita establecer el atributo de posición dentro de geom_jitter(). También puede cambiar la forma, el tamaño de un punto usando el argumento de tamaño y forma en ggplot jitter.

Sintaxis:

geom_jitter(mapping = NULL, data = NULL, stat = «identity», position = «jitter», …, width = NULL, height = NULL, na.rm = FALSE, show.legend = NA, heritage.aes ​​= TRUE)

Ejemplo:

R

library(ggplot2)
  
# loading data set and storing it in ds variable
ds <- read.csv("c://crop//archive//Crop_recommendation.csv", header = TRUE)
  
ggplot(ds, aes(x=label, y=temperature)) + 
  geom_boxplot()+
  geom_jitter(position=position_jitter(0.2))

Producción:

diagrama de caja con muescas

Para agregar un diagrama de caja de muesca, solo necesita establecer el atributo de muesca como VERDADERO dentro de geom_boxplot().

Ejemplo:

R

library(ggplot2)
  
# loading data set and storing it in ds variable
ds <- read.csv("c://crop//archive//Crop_recommendation.csv", header = TRUE)
  
# Add notched box plot
ggplot(ds, aes(x=label, y=temperature)) + 
  geom_boxplot(notch = TRUE)+
  geom_jitter(position=position_jitter(0.2))

Producción:

Publicación traducida automáticamente

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