Hola, estoy creando un diagrama de sankey para mostrar la migración. Un aspecto con el que tengo problemas es cómo lidiar con escenarios cuando el estado no cambia, es decir, la migración no ocurre. En tales escenarios, el sankey está dando vueltas de regreso a la misma fuente, creando un círculo en lugar de usar un diseño de 'fuente-objetivo' donde ambas fuentes y destinos están separados. me gustaría ver algo como
en lugar de seguir lo que estoy viendo ahora 
El siguiente es un ejemplo reproducible. Agradezco cualquier ayuda con esto.
library(networkD3) library(dplyr) links<-data.frame( source=c('One','Two','Two','Three','Three','Four','Four','Five','Five','Six'), target=c('Two','Two','Three','Three','Four','Four','Five','Five','Six','Seven'), value=c(78,108,27,14,31,38,17,76,10,89) ) nodes <- data.frame( name=c(as.character(links$source), as.character(links$target)) %>% unique() ) links$IDsource <- match(links$source, nodes$name)-1 links$IDtarget <- match(links$target, nodes$name)-1 sankeyNetwork(Links = links, Nodes = nodes, Source = "IDsource", Target = "IDtarget", Value = "value", NodeID = "name", fontSize = 20)Cada nodo que desee ver en el gráfico debe identificarse de forma única en el marco de datos de sus nodos. Si desea que algunos nodos únicos compartan la misma etiqueta, puede agregar una columna al marco de datos de los nodos para la etiqueta y especificarla en el argumento NodeID ... no es necesario que sean únicos.
library(networkD3) links <- read.csv(header = TRUE, strip.white = TRUE, text =" source, target, value One_1, Two_2, 78 Two_2, Two_3, 108 Two_2, Three_3, 27 Three_3, Three_4, 14 Three_3, Four_4, 31 Four_4, Four_5, 38 Four_4, Five_5, 17 Five_5, Five_6, 76 Five_5, Six_6, 10 Six_6, Seven_7, 89 ") id <- unique(c(as.character(links$source), as.character(links$target))) label <- sub("_[0-9]", "", id) nodes <- data.frame(id = id, label = label) links$IDsource <- match(links$source, nodes$id)-1 links$IDtarget <- match(links$target, nodes$id)-1 sankeyNetwork(Links = links, Nodes = nodes, Source = "IDsource", Target = "IDtarget", Value = "value", NodeID = "label", fontSize = 20)