El Diagrama de Sankey nos ayuda a ordenar flujos de informacion (energia, materiales, usuarios, ciudadanos, etc). Utiliza lineas de diferentes grosores para representar la cantidad de un elemento que fluye a lo largo de etapas de un proceso. En el eje vertical se encuentran entradas y salidas. Para temas migratorios, usualmente a la izquierda se ubica el lugar de origen y a la derecha el lugar de destino. La estructura minima de la base de datos debera componerse de tres columnas (region origen, region destino, conteo).
A continuacion, crearemos un Diagrama Sankey en R, con informacion referencial sobre migracion hacia San Martin y Loreto, tras un proceso de contratacion. Para esto usare una base de datos referencial denominada contr_amaz.
Instalamos los siguientes paquetes: readxl, ggplot2, reshape2, stringr, dplyr, tidyr, plotly
tabla_frecuencias <- table(contr_amaz$Region_eval, contr_amaz$descreg)
df <- as.data.frame(tabla_frecuencias)
colnames(df) <- c("Region_origen", "Region_destino", "valor")
Para una mejor visualizacion solo nos quedamos con las Regiones de San Martin y Loreto.
df <- df %>%
filter(Region_destino %in% c("SAN MARTIN", "LORETO"))
df <- filter(df, valor > 0)
nodos <- unique(c(as.character(df$Region_origen), as.character(df$Region_destino)))
nodos <- data.frame(name = nodos)
df$Region_origen_index <- match(df$Region_origen, nodos$name) - 1
df$Region_destino_index <- match(df$Region_destino, nodos$name) - 1 + length(unique(df$Region_origen))
7.Crear el grafico
fig <- plot_ly(
type = "sankey",
orientation = "h",
node = list(
pad = 15,
thickness = 20,
line = list(color = "black", width = 0.5),
label = nodos$name,
color = rep("blue", nrow(nodos))
),
link = list(
source = df$Region_origen_index,
target = df$Region_destino_index,
value = df$valor
))
fig
Chiung-Ya Tang (2020).How to Use R to Create a Migration Sankey Chart. https://ikm.ucf.edu/wp-content/uploads/2020/02/02.2020-FAIR-How-to-Use-R-to-Create-a-Migration-Sankey-Chart.pdf Sankey Diagram. https://www.data-to-viz.com/graph/sankey.html