Na tej stronie niedawno odkryłem diagramy Sankeya, świetny sposób na wizualizację tego, co dzieje się w tradycyjnym schemacie blokowym.
Oto dobry przykład diagramu Sankeya autorstwa George'a M. Whitesidesa i George'a W. Crabtree , Source; Nie zapomnij o długoterminowych podstawowych badaniach w dziedzinie energii , nauki 9 lutego 2007 r .: t. 315. nr 5813, s. 796–798.
Po tym, jak zorientowałem się, że nie ma pakietu R Sankeya, znalazłem skrypt R online , niestety ten skrypt jest dość surowy i nieco ograniczony. Z wielką nadzieją poprosiłem o pakiet R Sankeya lub bardziej dojrzałą funkcję w przepełnieniu stosu , ale ku mojemu zaskoczeniu wydaje się, że nie mamy dojrzałej funkcji do tworzenia diagramów Sankeya w R.
Po tym, jak opublikowałem nagrodę, Geek On Acid był na tyle miły, że zasugerował mały hack na istniejącym skrypcie, który sprawił, że działał mniej więcej w moim określonym celu.
Ulepszony skrypt R wytworzył ten schemat, Źródło; stackoverflow.com .
Ale czy brak pakietu R wskazuje, że diagramy Sankeya nie są tak niesamowitym sposobem na wizualizację ścierania za pomocą R w przepływie danych à la przedstawionym na powyższym schemacie (patrz pytanie o przepełnienie stosu dla danych i kodu R. Być może jest lepszy sposób na wizualizację ścierania.
Jak myślisz, co jest najlepszym sposobem na wizualizację ścierania w przepływie danych przy użyciu R?
źródło
Odpowiedzi:
Zgadzam się z @gung. Wydaje mi się, że diagram Sankeya jest dobrym przykładem tego, w jaki sposób technika może pomóc. Choć jest to skomplikowane, kontekst (wkład i wydatek energii) jest również złożony i trudno wymyślić lepszy sposób wizualizacji ścieżek wejścia-wyjścia-działania-jak-nowych-wejść dla wielu kategorii zastosowań.
Teraz, dla zamieszczonego przez ciebie przykładu ścierania, jak zauważyli inni, nie jest pomocne używanie diagramu Sankeya. Myślę, że musisz opublikować pełny zestaw zmiennych, jeśli chcesz mieć dobre rekomendacje dotyczące alternatywnych wizualizacji. Jeśli chcesz po prostu pokazać różnice w źródłach ścierania między witrynami a klinicystami, seria wykresów punktowych o małych wielokrotnościach może być najłatwiejsza do zrozumienia dla odbiorców i do wdrożenia ( patrz ten przykład , gdzie w twoim przypadku grupy mogą być miejsca, elementy w grupach byłyby przyczyną ścierania, a oś pozioma wynosiłaby 0-100%).
Jeśli diagram Sankeya jest czymś, czego chcesz użyć i chcesz zagłębić się w inny język wysokiego poziomu, istnieje ładny przykład (z kodem) w galerii pakietu kreślącego Python, matplotlib.
źródło
Niekoniecznie zakładałbym, że brak metody oznacza, że metoda jest nieważna lub nieprzydatna. W końcu dla wszystkich metod, które obecnie istnieją w R, był czas (całkiem możliwe, że niedawno - R ma tylko ~ 10 lat), kiedy nie było dla niego pakietu.
Myślę jednak, że istnieje wiele sposobów wizualizacji danych, takich jak ścieranie. Moją pierwszą myślą, patrząc na twój wykres, jest to, że można go przedstawić za pomocą wykresu punktowego . Istnieją również inne możliwości. Dodatkowa funkcjonalność schematu Sankeya zacznie obowiązywać, gdy w pewnym momencie dojdzie do osłabienia z powodu konkretnej przyczyny, a następnie z powodu tej samej przyczyny później, z innymi wejściami i wyjściami pomiędzy nimi. Trudniej byłoby to przedstawić za pomocą standardowych wykresów (trudniej jest śledzić nawet wykres Sankeya - na przykład ten na górze strony zajmuje sporo pracy). Ponieważ wydaje się, że tego nie masz, schemat Sankeya wydaje się ładny, ale przesadzony.
źródło
Co powiesz na użycie kodu R do napisania pliku SVG z szerokością strzałek ustawioną zgodnie z danymi i prostym układem. Następnie załaduj do Inkscape i wygnij strzałki, dodaj etykiety itp. Do treści twojego serca, aby zrobić coś ładnego.
Oczywisty problem: musisz zmienić wszystkie swoje ustawienia wstępne w Inkscape, jeśli dane się zmienią (chociaż możesz być w stanie użyć swojego ładnego SVG z Inkscape jako szablonu i po prostu zastąpić nowe szerokości strzałek).
Ale szczerze mówiąc, jeśli ten wielobarwny bałagan kłębiących się zawijasów u góry jest dobrym diagramem Sankeya, nie chciałbym widzieć złego na pełnym brzuchu [chociaż wpatrywanie się w to jeszcze przez kilka minut dało mi wskazówkę na temat o co chodzi, dobra grafika nie powinna tego potrzebować].
źródło