Ich versuche, meinen Datenfluss mit einem Sankey Diagramm in R.Sankey-Diagramme in R?
I this blog post zu einer R-Skript Verlinkung zu visualisieren, die ein Sankey Diagramm erzeugt, es ist leider ziemlich roh und etwas eingeschränkt (siehe unten für Beispielcode und Daten).
Kennt jemand andere Skripte - oder vielleicht sogar ein Paket - das ist mehr entwickelt? Mein Endziel ist es, sowohl den Datenfluss als auch die Prozentsätze nach der relativen Größe der Diagrammkomponenten zu visualisieren, wie in these examples of Sankey Diagrams.
Ich postete a somewhat similar question on the r-help list, aber nach zwei Wochen ohne irgendwelche Antworten versuche ich mein Glück hier auf stackoverflow.
Danke, Eric
PS. Ich bin mir der Parallel Sets Plot bewusst, aber das ist nicht das, wonach ich suche.
# 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-Diagramm mit dem obigen Code erzeugt,
Die Pfeile schauen mir gut, sieht aus wie Sie den Text mit Feinabstimmung sind links und Sie sind in? –
@Roman Luštrik, ich stimme zu, dieses Diagramm ist überhaupt nicht schlecht, aber meine R-Fähigkeiten sind immer noch begrenzt, also kann ich nicht so viel Feineinstellung in R machen, wenn das das war, was du meintest? Ich könnte es natürlich in Adobe Illustrator oder so ähnlich machen, aber das würde das Prinzip der reproduzierbaren Forschung brechen, das für mich ein zentrales Element in jeder (akademischen) Arbeit ist. Haben Sie [die Beispiele, mit denen ich in der Post verlinkt habe] (http://www.sankey-diagrams.com/tag/software/) angeschaut? –
Mir ist klar, dass meine Frage keine gute Frage in dem Sinne ist, dass es kein spezifisches Programmierproblem und nicht direkt praktikabel ist, sondern eine etwas offene Frage ([aus dem FAQ]) (http://stackoverflow.com/faq)). Um diese Frage zu beantworten, müsste man entweder die verschiedenen graphischen Optionen in R überwachen und auf dieser Basis meine Frage mit einem _no beantworten, es gibt keine Scripts oder Pakete, die entwickelter sind, oder man müsste von a wissen weiterentwickelte Methode zur Herstellung von Sankey-Diagrammen in R und weisen darauf hin. Vielleicht gibt es einen besseren Ort, um diese Frage zu stellen? –