library(ggraph) library(tidygraph) library(igraph) library(RColorBrewer) library(dplyr) # ✅ ¡Esto es lo que faltaba!
rutas <- data.frame( from = c(“París”, “París”, “Londres”, “Ámsterdam”, “Berlín”, “Múnich”, “Viena”, “París”, “Barcelona”, “Madrid”), to = c(“Bruselas”, “Londres”, “Ámsterdam”, “Berlín”, “Múnich”, “Viena”, “Praga”, “Barcelona”, “Madrid”, “Lisboa”) )
grafo <- as_tbl_graph(rutas, directed = TRUE) %>% mutate( grado = centrality_degree(), region = case_when( name %in% c(“París”, “Bruselas”, “Londres”) ~ “Oeste”, name %in% c(“Ámsterdam”, “Berlín”, “Múnich”) ~ “Centro”, name %in% c(“Barcelona”, “Madrid”, “Lisboa”) ~ “Sur”, TRUE ~ “Este” ) )
colores_region <- c(“Oeste” = “#1f78b4”, “Centro” = “#33a02c”, “Sur” = “#e31a1c”, “Este” = “#ff7f00”)
ggraph(grafo, layout = “fr”) + geom_edge_arc(aes(alpha = ..index..), color = “gray60”, strength = 0.3, show.legend = FALSE) + geom_node_point(aes(size = grado, color = region), show.legend = TRUE) + geom_node_text(aes(label = name), repel = TRUE, color = “black”, size = 4.5, fontface = “bold”) + scale_color_manual(values = colores_region) + theme_void() + labs( title = “Red ferroviaria europea de alta velocidad 🚄”, subtitle = “Visualización de rutas por región”, color = “Región” )