Shiny, sondaże przedwyborcze i interaktywny ggplot2


Tydzień temu przedstawialiśmy wyniki sondaży przedwyborczych. Tak się, złożyło, że wczoraj pojawiła się nowa wersja shiny, umożliwiająca tworzenie interaktywnych wykresów ggplot2. Wypróbujemy tą możliwość, pokazując na wykresie oszacowanie dla określonego dnia poparcia dla każdego z kandydatów.

Poniższa aplikacja reaguje na ruchy kursorem myszy. Jeżeli nie otwiera się poniżej (może to trwać kilka sekund), to warto sprawdzić wersję pod tym linkiem. Możemy teraz dokładnie odczytać ile (zgodnie z sondażami) wynosiła różnica poparcia na 6 miesięcy przed pierwszą turą wyborów (różnica 50%) a ile zgodnie z sondażami na dzień przed wyborami (10%). To ciekawa historia, po pierwsze zmiana poparcia o 40% w ciągu 6 miesięcy a po drugie błąd rzędu 10 punktów procentowych w ocenie różnicy poparcia w sondażach na dzień przed wyborami.

Jak zrobić ten wykres i aplikację?
Zaczniemy od wczytania danych. Dane są dostępne w pliku rda pod adresem https://github.com/pbiecek/SmarterPoland_blog/tree/master/2015/wybory2015b. Pobierzmy plik elections1.rda.
Poniższe instrukcje wczytują dane i wyświetlają pierwsze wiersze.

Zróbmy wykres punktowy. Zaznaczmy punktami poparcie, kolorami kandydatów, kształtem punktu zaznaczymy ośrodek, który badał opinię.
Zresztą zamiast kształtami punktów, lepiej ośrodki oznaczyć za pomocą liter (użyjemy do tego funkcji scale_shape_manual).

Ostatnim krokiem będzie zbudowanie interaktywnej aplikacji. Wykorzystamy do tego pakiet shiny. Poniżej przedstawiamy pliki ui i serwer opisujący zarówno kontrolki na interface użytkownika i funkcję tworzącą wykres.
Interesującym elementem poniższego kodu jest fragment związany z obsługą plot_hower – wydarzenia polegającego na poruszaniem kursorem nad wykresem. Obsługując to wydarzenie możemy uzyskać efekt interaktywności gdy pracujemy z wykresem ggplot2.


Wpisy z kategorii Duże i złożone powstają przy współpracy z firmą CodiLime.

2 myśli na temat “Shiny, sondaże przedwyborcze i interaktywny ggplot2”

  1. > load(“elections1.rda”)
    Error: bad restore file magic number (file may be corrupted) — no data loaded
    In addition: Warning message:
    file ‘elections1.rda’ has magic number ‘<!'
    Use of save versions prior to 2 is deprecated

    1. Powinno działać to: archivist::aread("pbiecek/graphGallery/b2e0ee")
      (wymaga pakietu archivist w wersji 1.5)

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">