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: