Sto cercando di visualizzare il mio flusso di dati con un diagramma Sankey in R.Sankey Diagrams in R?
ho trovato this blog post collegamento ad uno script in R che produce un diagramma Sankey, purtroppo è abbastanza crudo e un po 'limitata (vedi sotto per il codice di esempio e di dati).
Qualcuno sa di altri script - o forse anche di un pacchetto - che è più sviluppato? Il mio obiettivo finale è visualizzare sia il flusso di dati sia le percentuali in base alle dimensioni relative dei componenti del diagramma, come in these examples of Sankey Diagrams.
Ho inviato a somewhat similar question on the r-help list, ma dopo due settimane senza alcuna risposta sto tentando la fortuna qui su StackOverflow.
Grazie, Eric
PS. Sono a conoscenza dello Parallel Sets Plot, ma non è quello che sto cercando.
# 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")
Sankey Schema prodotto con il codice di cui sopra,
Le frecce guardano bene a me, sembra che si è lasciato con la messa a punto del testo e sei in? –
@Roman Luštrik, sono d'accordo, questo diagramma non è affatto male, ma le mie abilità R sono ancora limitate, quindi non posso davvero fare molto fine tuning in R, se era questo che intendevi? Ovviamente potrei farlo in Adobe Illustrator, o qualcosa del genere, ma ciò spezzerebbe il principio della ricerca riproducibile, che per me è un elemento centrale in qualsiasi lavoro (accademico). Hai guardato [gli esempi a cui mi sono collegato nel post] (http://www.sankey-diagrams.com/tag/software/)? –
Mi rendo conto che la mia domanda non è una buona domanda, nel senso che non è un problema di programmazione specifico e non direttamente pratico, ma una domanda un po 'aperta ([dalle FAQ] (http://stackoverflow.com/faq)). Per rispondere a questa domanda si dovrebbe avere una supervisione sulle diverse opzioni grafiche in R e su quella base rispondere alla mia domanda con un _no, non ci sono script o pacchetti là fuori che sono più sviluppati_, o si dovrebbe sapere di un metodo più sviluppato per produrre Sankey Diagram in R e puntare ad esso. Forse c'è un posto migliore per pubblicare questa domanda? –