Estoy tratando de visualizar mi flujo de datos con un diagrama de Sankey en R.
Encontré esta publicación de blog enlazada a un script R que produce un Diagrama de Sankey, desafortunadamente es bastante crudo y algo limitado (vea a continuación el código y los datos de muestra).
¿Alguien sabe de otros scripts, o tal vez incluso de un paquete, que esté más desarrollado? Mi objetivo final es visualizar tanto el flujo de datos como los porcentajes por tamaño relativo de los componentes del diagrama, como en estos ejemplos de diagramas de Sankey .
Publiqué una pregunta algo similar en la lista de r-help , pero después de dos semanas sin ninguna respuesta, estoy probando suerte aquí en stackoverflow.
Gracias Eric
PD. Soy consciente de la trama de conjuntos paralelos , pero eso no es lo que estoy buscando.
# thanks to, https://tonybreyal.wordpress.com/2011/11/24/source_https-sourcing-an-r-script-from-github/
sourc.https <- function(url, ...) {
# install and load the RCurl package
if (match('RCurl', nomatch=0, installed.packages()[,1])==0) {
install.packages(c("RCurl"), dependencies = TRUE)
require(RCurl)
} else require(RCurl)
# parse and evaluate each .R script
sapply(c(url, ...), function(u) {
eval(parse(text = getURL(u, followlocation = TRUE,
cainfo = system.file("CurlSSL", "cacert.pem",
package = "RCurl"))), envir = .GlobalEnv)
} )
}
# from https://gist.github.com/1423501
sourc.https("https://raw.github.com/gist/1423501/55b3c6f11e4918cb6264492528b1ad01c429e581/Sankey.R")
# My example (there is another example inside Sankey.R):
inputs = c(6, 144)
losses = c(6,47,14,7, 7, 35, 34)
unit = "n ="
labels = c("Transfers",
"Referrals\n",
"Unable to Engage",
"Consultation only",
"Did not complete the intake",
"Did not engage in Treatment",
"Discontinued Mid-Treatment",
"Completed Treatment",
"Active in \nTreatment")
SankeyR(inputs,losses,unit,labels)
# Clean up my mess
rm("inputs", "labels", "losses", "SankeyR", "sourc.https", "unit")
Diagrama de Sankey producido con el código anterior,