useR 2015 a htmlwidgets

Zastanawiałem się, czy tegoroczna konferencja useR zwiastowała jakąś gigantyczną, przełomową zmianę w świecie R.
Poprzednia konferencja useR zadziałała jak katalizator dla pakietu dplyr i operatora %>%. Środowisko (szczególnie kalifornijskie) znało oba rozwiązania już od kilku miesięcy, ale useR 2014 rozlał zachwyt pipe’ami ze wczesnych użytkowników na całą społeczność.

A co przełomowego objawiło się podczas useR w tym roku? Problem z rewolucjami jest taki, że nie widać ich gdy się dzieją, łatwo za to je obserwować z perspektywy czasu. Zaryzykuję jednak i pobawię się we wróżbitę.

Dla mnie czarnym koniem są htmlwidgets.
Dlaczego?

Czytaj dalej useR 2015 a htmlwidgets

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.

Czytaj dalej Shiny, sondaże przedwyborcze i interaktywny ggplot2

Czy to możliwe, że za kilkadziesiąt lat połowa Polaków będzie w wieku powyżej 65 lat?

Centrum Wittgensteina opracowało świetną aplikację pozwalającą na porównanie stanu obecnego i prognoz demograficznych /edukacyjnych dla różnych krajów. Aplikacja wykonana w R i Shiny jest dostępna tutaj a interesujący wpis o technicznych aspektach tej aplikacji tutaj.

Aplikacja pozwala na porównanie różnych scenariuszów rozwoju kraju/krajów. Domyślnie jest to scenariusz umiarkowanego rozwoju, ale można zestawić go ze scenariuszem ‘optymistycznym’ lub innymi. Jak pewnie domyślacie się po tytule dzisiejszego postu, dla Polski nie ma zbyt optymistycznych prognoz. Nawet przy założeniu znacznego rozwoju trzeba przygotować się na duże zmiany jeżeli chodzi o strukturę wiekową (*).

Czytaj dalej Czy to możliwe, że za kilkadziesiąt lat połowa Polaków będzie w wieku powyżej 65 lat?

Jak zmieniało się poparcie przed wyborami prezydenckimi 2015?

Pięć dni temu zorganizowaliśmy konkurs, na zebranie danych z sondaży przed wyborami prezydenckimi 2015. Dzięki Bartoszowi S. i Łukaszowi W. (wędrują do Was wejściówki na ZIP) mamy zebrane wyniki z kilkudziesięciu sondaży. Poniższa aplikacja pozwala na eksplorację tych wyników.

Czytaj dalej Jak zmieniało się poparcie przed wyborami prezydenckimi 2015?

R, Big Data i Efekt Pawła Kukiza

Na MiNI prowadzę w tym semestrze przedmiot ,,R i duże dane”. W ramach pierwszego projektu studenci w grupach opracowali systemy do monitorowania w mediach (portale informacyjne, facebook, twitter) tego ile i co się mówi o kandydatach na prezydenta. Sześć grup, sześć różnych podejść do tematu, większość grup zebrało po kilkaset MB najróżniejszych wypowiedzi / artykułów / komentarzy.

Co ciekawego z tego wynikło?

W takim gąszczu danych kryje się sporo historii. Przykładowo, gdy spojrzeć na skumulowaną liczbę artykułów, w których pada nazwisko któregoś z kandydatów w podziale na portale informacyjne (rysunek poniżej), to okazuje się, że do pierwszej tury najczęściej w artykułach pojawiali się B. Komorowski (szczególnie w Interii i Wirtualnej Polsce) i A. Duda (szczególnie w NaTemat, Onet i TVN24). Są takie portale (WPolityce) gdzie praktycznie nie pojawiali się inni kandydaci. Z porównanych portali, jedynie na Wirtualnej Polsce można było dosyć często poczytać o kimś innym, przy czym tym kimś innym był zazwyczaj P. Kukiz lub J. Korwin.

portale

Czytaj dalej R, Big Data i Efekt Pawła Kukiza

Dlaczego Game of Thrones rośnie a Family Guy spada


Przygotowałem taką małą apkę, pozwalającą na przyglądanie się trendom w średnich ocenach seriali. Dane o ocenach odcinków pobrałem z bazy danych IMDB.

Kolorami oznaczone są seriale, czarna linia to regresja liniowa, szara kropkowana linia to lokalny wielomianowy trend. Apka jest przygotowana po to by opowiadać licealistom w ramach Matematyki dla Ciekawych Świata o co chodzi z trendem, regresją liniową i testowaniem współczynników. Ale zauważyłem, że zabawa z nią może wciąga (szczególnie jeżeli ogląda się seriale).

Gdyby poniższa aplikacja się nie otwierała (może to potrwać kilka sekund) to można ją znaleźć pod adresem https://smarterpoland.shinyapps.io/serialeIMDB.

Za tydzień pokażę apkę przedstawiającą test dla dwóch średnich na bazie danych o serialach.

Ale jeżeli macie inne pomysły jak wykorzystać dane o serialach o przedstawiania (prostych) technik analizy danych to piszcie.

Rozbieramy choinkę – część druga: shiny

Przed świętami pokazaliśmy interaktywną choinkę napędzaną statystykami popularności imion nadawanych dzieciom. Po świętach pokazaliśmy jak w pakiecie ggplot2 narysować choinkę.

Wczoraj pomiędzy Pałacem Kultury i Nauki a Dworcem Centralnym natknąłem się na choinkę, która wciąż świeci. Przyznacie, że choinka w lutym wygląda już dziwnie. Potraktujmy to jako znak, że najwyższy czas do końca rozebrać i naszą choinkę napisaną w shiny.

Co to jest shiny?

Czytaj dalej Rozbieramy choinkę – część druga: shiny

Ściągawki z shiny i R Markdown

Przygotowanie pięciominutowego wystąpienia zajmuje często więcej czasu niż dwugodzinnego wykładu. Będąc ograniczonym pod względem ilości materiału, który możemy przedstawić, musimy wybrać najistotniejsze elementy, dopracować kolejność ich prezentacji oraz argumentacje.
Z tego też powodu, moje ulubione zadania zaliczeniowe dla studentów to: przygotuj sprawozdanie na maksymalnie 5 stron; przygotuj wizualizację mieszczącą się na stronie formatu A3; opracuj jednostronicowe podsumowanie określonej biblioteki R. Bardzo łatwo w takich projektach odczytać czy autor zna i potrafi pokazać odpowiedź na sedno problemu.

Z podobnego powodu lubię kolekcjonować tzw. cheatsheety, czyli ściągawki z wyciągiem najistotniejszych komend/funkcji określonego programu/pakietu. Dwie, które ostatnio przyciągnęły moją uwagę, to opracowane przez Garretta Grolemunda streszczenia R Markdown i Shiny.
Miniaturki poniżej.

PISA 2012, occupations and the shiny app

OECD has just released a new PISA in Focus titled “Do parents’ occupations have an impact on student performance?”.

A shiny app is an add-on to this article, you can open it from this link:
http://beta.icm.edu.pl/PISAoccupations2012/.

The app allows for comparisons of average performance in mathematics/reading/science of 15-years old pupils in PISA study across different groups of parental occupations.
Are kids of Professionals ‘on average’ performing better than kids of other professions?

You can also compare countries or regions to check if spread of occupational averages is larger or smaller here or there.

The nice thing about this article and results is that they are created entirely in R (data, results and R codes are open).

R sources of this app are available on github: https://github.com/pbiecek/PISA2012lite/tree/master/ext/PisaInFocusOccupationsRegions