mapa_ccaa <- gisco_get_nuts(
country = "ES",
nuts_level = "2",
resolution = "3"
)
datos_2024_completo <- datos_long %>%
filter(Year == 2024, Comunidad != "Total") %>%
mutate(
CCAA_Limpia = case_when(
Comunidad == "Asturias, Principado de" ~ "Principado de Asturias",
Comunidad == "Baleares, Illes" ~ "Illes Balears",
Comunidad == "C. Valenciana" ~ "Comunidad Valenciana",
Comunidad == "Madrid, Comunidad de" ~ "Comunidad de Madrid",
Comunidad == "Murcia, Región de" ~ "Región de Murcia",
Comunidad == "Navarra, Comunidad Foral de" ~ "Comunidad Foral de Navarra",
Comunidad == "Castilla - La Mancha" ~ "Castilla-La Mancha",
Comunidad == "Ceuta y Melilla, Ciudades Autónomas" ~ "Ciudad Autónoma de Ceuta",
TRUE ~ Comunidad
),
Tasa = trimws(Tasa),
Tasa = str_replace(Tasa, ",", "."),
Tasa = as.numeric(Tasa))
datos_2024_completo <- bind_rows(
datos_2024_completo,
datos_2024_completo %>%
filter(CCAA_Limpia == "Ciudad Autónoma de Ceuta") %>%
mutate(CCAA_Limpia = "Ciudad Autónoma de Melilla"))
datos_2024_completo <- datos_2024_completo %>%
mutate(Categoria = cut(
Tasa,
breaks = c(-Inf, 9.0, 13.0, Inf),
labels = c("Baja (Gris)", "Media (Violeta Claro)", "Alta (Violeta)"),
right = FALSE))
mapa_final <- mapa_ccaa %>%
mutate(
CCAA_Limpia = case_when(
NAME_LATN %in% c("Ceuta", "Melilla") ~ "Ceuta y Melilla",
TRUE ~ NAME_LATN
)
) %>%
left_join(datos_2024_completo, by = "CCAA_Limpia")
paleta_colores <- c(
"Baja (Gris)" = "lightgrey",
"Media (Violeta Claro)" = "#E6E6FA",
"Alta (Violeta)" = "plum"
)
mapa_coropleta <- ggplot(mapa_final) +
geom_sf(
aes(fill = Categoria),
color = "grey60",
linewidth = 0.2
) +
scale_fill_manual(
values = paleta_colores,
name = "Tasa de Abortos (por 1.000) - 2024"
) +
geom_sf_text(
aes(label = CCAA_Limpia),
size = 2,
fontface = "bold",
check_overlap = TRUE
) +
labs(
title = "Tasa de Abortos por CCAA (2024)",
caption = "Clasificación: Baja < 9.0, Media < 13.0, Alta ≥ 13.0",
fill = "Categoría de Tasa"
) +
theme_minimal() +
theme(
axis.text = element_blank(),
axis.title = element_blank(),
panel.grid = element_blank(),
legend.position = "left",
legend.title = element_text(face = "bold.italic"),
legend.text = element_text(size = 12),
plot.title = element_text(hjust = 0.5, face = "bold.italic", size = 16))