Cómo hacer un gráfico de regresión en highcharter

Hasta ahora, vimos cómo hacer gráficos númericos en Highcharter, tanto de dispersión como de burbujas. Hoy iremos un paso más allá y veremos cómo añadir una línea de regresión sobre dichos datos.
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 gráfico de regresión en highcharter
Esta vez, a diferencia de otros posts, vamos a utilizar el archiconocido dataset de R, iris
. SIn duda, uno de los más famosos en el mundo #rstats.
reactable::reactable(head(iris))
Highcharter permite ajustar regresiones de forma muy sencilla a través del pluggin highcharts-regression.js
. Simplemente, consiste en realizar un gráfico de dispersión al que se le añade esta dependencia haciendo uso de la función hc_add_dependency()
y se indica regression = TRUE
en las opciones del plot.
library(highcharter)
hchart(
iris,
"scatter",
hcaes(x = Sepal.Length, y = Sepal.Width, group = Species),
regression = TRUE
) |>
hc_colors(c("#aedcc0", "#206999", "#ffab44")) |>
hc_add_dependency("plugins/highcharts-regression.js") |>
hc_title(text = "<b>Gráfico de regresión</b>") |>
hc_subtitle(text = "<i>Ejemplo de gráfico de regresión en Highcharter - dataset iris</i>") |>
hc_credits(enabled = TRUE, text = "http://elartedeldato.com")
Dado que el conjunto de datos consta de 3 grupos, indicamos específicamente solo 3 colores. Si en el tema personalizado existen más colores que el número de categorías, cada línea de regresión irá de un color diferente a los datos a los que se refiere. Por eso, con hc_colors()
fijamos exactamente 3 colores, uno por categoría.