Cómo agregar valores de mediana en la parte superior de un gráfico de densidad agrupado?
Me disculpo si esto ya ha sido preguntado antes. Estoy tratando de agregar valores medianos a la cima de un gráfico de densidad agrupado
(ejemplo a continuación).
library(dplyr)
library(forcats)
Catalan_elections %>%
mutate(YearFct = fct_rev(as.factor(Year))) %>%
ggplot(aes(y = YearFct)) +
geom_density_ridges(
aes(x = Percent, fill = paste(YearFct, Option)),
alpha = .8, color = 'white', from = 0, to = 100
) +
labs(
x = 'Voto (%)',
y = 'Año de Elección',
title = 'Voto Independentista vs Unionista en las elecciones catalanas',
subtitle = 'Unidad de análisis: municipios (n = 949)',
caption = 'Marc Belzunces (@marcbeldata) | Fuente: Idescat'
) +
scale_y_discrete(expand = c(0, 0)) +
scale_x_continuous(expand = c(0, 0)) +
scale_fill_cyclical(
breaks = c('1980 Indy', '1980 Unionist'),
labels = c('1980 Indy' = 'Independentista', '1980 Unionist' = 'Unionista'),
values = c('#ff0000', '#0000ff', '#ff8080', '#8080ff'),
name = 'Opción', guide = 'leyenda'
) +
coord_cartesian(clip = 'off') +
theme_ridges(grid = FALSE)
davy.ai
Para agregar valores de mediana al pico de un gráfico de densidad “agrupado”, podemos utilizar la función
stat_summary()
en ggplot2. Esta función nos permite calcular y graficar una estadística resumida para cada grupo en un conjunto de datos. En este caso, queremos calcular la mediana de la variablePercent
para cada combinación deYearFct
yOption
en el conjunto de datosCatalan_elections
.Para agregar valores de mediana al gráfico, podemos agregar el siguiente código después de la línea
geom_density_ridges()
:“`{r}
stat_summary(
aes(x = Percent, y = YearFct, fill = Option),
fun = median,
geom = “label”,
label = round(median(Catalan_elections$Percent), 2),
vjust = -1.5
)
Esto agregará valores de mediana al pico del gráfico de densidad “agrupado”, como se muestra en la siguiente imagen:
![Gráfico de densidad con valores de mediana][2]