Cómo hacer un boxplot en highcharter

Empezamos la recta final del calendario de adviento con gráficos de distribución: boxplot, histograma y gráfico de densidad.
Hoy en concreto, nos centraremos en el boxplot o diagrama de caja que sirve para representar la distribución de una variable numérica a través de sus cuartiles.
El tema de los gráficos lo puedes encontrar en la entrada sobre cómo crear temas en highcharter y configurarlo al inicio de la sesión así:
library(highcharter)
options(highcharter.theme = elartedeldato_theme)
Cómo hacer un boxplot en Highcharter
Como explicamos en posts anteriores, Highcahrter cuenta con ciertas funciones para poder transformar los datos de entrada en el formato específico para un tipo de grpafico. Por ejemplo, para el diagram de sankey contábamos con la función data_to_sankey()
. En este caso, la función que necesitamos es data_to_boxplot()
y cuenta con los siguientes parámetros:
-
data
: dataframe principal que contiene las variables a representar -
variable
: variable para calcular los datos del boxplot -
group_var
: Variable categórica para dividir el cálculo -
group_var2
: Segunda variable para crear series separadas -
add_outliers
: Valor lógico que indica si se deben calcular las series de valores atípicos. Por defecto es FALSE.
Para el ejemplo, utilizaremos los datos de la librería palmerpenguins
y seleccionaremos la variable longitud del pico de los pingüinos en mm y la especie del animal.
library(ggplot2)
library(highcharter)
data(penguins, package = "palmerpenguins")
boxplot_input <- data_to_boxplot(na.omit(penguins), bill_length_mm, species, sex)
En este caso, con llamar a ala función highchart()
es suficiente ya que la librería reconocerá automáticamente a partir del dato de entrada que vamos a representar un boxplot. Eso sí, es necesario indicar que el eje x
será de tipo categórico con hc_xAxis(type = "category")
.
highchart() %>%
hc_add_series_list(boxplot_input) |>
hc_xAxis(type = "category") |>
hc_title(text = "<b>Boxplot</b>") |>
hc_subtitle(text = "<i>Longitud del pico de pingüinos del archipiélago Palmer - librería: palmerpenguins</i>") |>
hc_credits(enabled = TRUE, text = "http://elartedeldato.com")