À travers ce site, j'ai récemment découvert Sankey Diagrams, un excellent moyen de visualiser ce qui se passe dans un organigramme traditionnel .
Voici un bon exemple d'un diagramme de Sankey par George M. Whitesides et George W. Crabtree , Source; N'oubliez pas la recherche fondamentale à long terme dans le domaine de l'énergie , Science 9 février 2007: Vol. 315. non. 5813, p. 796 - 798.
Après avoir réalisé qu'il n'y avait pas de package Sankey R, j'ai trouvé un script R en ligne , malheureusement ce script est assez brut et quelque peu limité. Avec de grands espoirs, j'ai demandé un package Sankey R ou une fonction plus mature à stackoverflow , mais à ma grande surprise, il semble que nous n'avons pas de fonction mature pour construire des diagrammes Sankey dans R.
Après avoir posté une prime, Geek On Acid a eu la gentillesse de suggérer un petit hack sur le script existant qui l'a fait fonctionner plus ou moins pour mon objectif spécifique.
Le R-script amélioré a produit ce diagramme, Source; stackoverflow.com .
Mais, l'absence d'un package R indique que Sankey Diagrams n'est pas un moyen si étonnant de visualiser l'attrition en utilisant R dans un flux de données à celui présenté dans le diagramme ci-dessus (voir la question initiale de stackoverflow pour les données et le code R. Peut-être il y a une meilleure façon de visualiser l'attrition.
Selon vous, quelle est la meilleure façon de visualiser l'attrition dans un flux de données à l'aide de R?
la source
Réponses:
Je suis d'accord avec @gung. Le diagramme de Sankey que vous avez publié est, je pense, un assez bon exemple de la manière dont la technique peut aider. Bien que cela soit compliqué, le contexte (entrée et sortie d'énergie) est également complexe et il est difficile de penser à une meilleure façon de visualiser les chemins des entrées aux sorties agissant en tant que nouvelles entrées dans plusieurs catégories d'utilisation.
Maintenant, pour l'exemple d'attrition que vous avez publié, comme d'autres l'ont noté, il n'est pas utile d'utiliser un diagramme de Sankey. Je pense que vous devez publier votre ensemble complet de variables si vous voulez une bonne recommandation sur les visualisations alternatives. Si vous souhaitez simplement montrer les différences de sources d'attrition entre les sites et les cliniciens, une série de petits points multiples peut être la plus facile à comprendre et à mettre en œuvre pour votre public ( voir cet exemple , où, dans votre cas, les groupes pourraient être les sites, les éléments au sein des groupes seraient les causes d'attrition et l'axe horizontal serait de 0 à 100%).
Si le diagramme Sankey est quelque chose que vous souhaitez utiliser et que vous êtes prêt à essayer un autre langage de haut niveau, il existe un bel exemple (avec du code) dans la galerie pour le package de traçage Python, matplotlib.
la source
Je ne supposerais pas nécessairement que l'absence d'une méthode implique que la méthode est sans importance ou inutile. Après tout, pour toutes les méthodes qui existent actuellement dans R, il fut un temps (très probablement récent - R n'a que ~ 10 ans) où il n'y avait pas de package pour cela.
Cependant, je devrais penser qu'il existe un certain nombre de façons de visualiser des données telles que l'attrition. Ma première pensée en regardant votre graphique, c'est qu'il pourrait être représenté par un tracé de points . D'autres possibilités existent également. La fonctionnalité supplémentaire du diagramme de Sankey va entrer en jeu lorsque vous aurez une certaine attrition due à une cause particulière à un moment donné, puis plus à cause de la même cause plus tard avec d'autres entrées et sorties entre les deux. Ce serait plus compliqué à représenter par des tracés standard (il est également plus difficile à suivre même avec un diagramme de Sankey - par exemple, celui en haut de la page prend beaucoup de travail à lire). Puisque vous ne semblez pas avoir cela, le diagramme de Sankey semble être joli, mais exagéré.
la source
Que diriez-vous d'utiliser le code R pour écrire un fichier SVG avec les largeurs de flèche définies en fonction de vos données et une mise en page simple. Ensuite, chargez dans Inkscape et pliez les flèches, ajoutez des étiquettes, etc., au contenu de votre cœur pour faire quelque chose de joli.
Problème évident: vous devez refaire toute votre mise au point dans Inkscape si vos données changent (bien que vous puissiez utiliser votre joli SVG d'Inkscape comme modèle et simplement y substituer de nouvelles largeurs de flèche).
Mais honnêtement, si ce désordre multicolore de gribouillis au sommet est un bon diagramme de Sankey, je détesterais en voir un mauvais à jeun [bien que le regarder pendant quelques minutes de plus m'a donné un indice sur de quoi il s'agit, un bon graphique ne devrait pas en avoir besoin].
la source