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.

18 thoughts on “Dlaczego Game of Thrones rośnie a Family Guy spada”

  1. Dodany,
    są dane o 200 najpopularniejszych serialach zdaniem IMDB + Arrow + Ninjago (to na życzenie syna)
    coś jeszcze dodać?

  2. Mnie zabrakło Robin of Sherwood, a ze współczesnych The Good Wife 🙂

    Aplikacja jest genialna! Ukradła mi pół godziny życia. I pogłębiła żal za Carnivale. Ten serial umarł zbyt wcześnie…

    Przy okazji szperania wyszły ciekawe rzeczy, np. punktacja Simpsonów czy dziwnie niskie noty czwartej serii The Shield.

    Czy będzie może dostępny kod źródłowy? Wykonanie jest fantastyczne 🙂

  3. Ja bym dodał jeszcze pewną opcję wizualną dla lepszej przejrzystości poszczególnych dot pointów (tzn. size.hover i fillOpacity.hover):

    data %>%
    ggvis(x ,y) %>%
    layer_points(size := 100,
    size.hover := 200,
    fill = ~variable,
    fillOpacity := 0.5,
    fillOpacity.hover := 0.9,
    key := ~id) %>%
    add_tooltip(function(x), „hover”)

  4. czyli docelowo (dopiero teraz znalazłem link do skryptów R):


    layer_points(size := 100,
    size.hover := 200,
    fillOpacity := 0.5,
    fillOpacity.hover := 0.9) %>%

  5. @smarterpoland Co ciekawe zauważyłem że występuje pewien problem z wyświetlaniem dodatkowych info odnośnie konkretnego odcinka. Dlatego tutaj

    https://gist.github.com/Nicolabo/1800fe3652955e5ed0f7

    znajdziesz rozwiązanie tego problemu.
    Ponadto jeśli spojrzysz dokładniej zauważysz że w przypadku niektórych punktów, nie rozwijają się dodatkowe info. Powodem tego jest funkcja layer_smooths, przesunięcie na przód komendy ggvisa rozwiązuje ten problem, ale nie wiem dlaczego tak się dzieje.

    Ogólnie, załączony plik server.R wyklucza wszystkie bugi które zauważyłem.
    Polecam również użycie jakiegoś bootstrapa dla lepszego odbioru.

  6. Nowsze wersje shiny bazują na nowszych wersjach bootstrapu (w tej wersji w head włączane są biblioteki v3.3.1, niestety rodzi to kłopoty z deploymentem, ale to inny problem).

    Jeżeli chodzi o layer_smooths to problemem była kolejność wygenerowanych warstw ,
    jeżeli layer_smooths jest po layer_points to odpowiadające im obiekty na warstwie przesłaniają punkty, przez co wyświetla się tooltip dla dla złego obiektu (bez nazwy), dzięki za zauważenie problemu.

    Pogrubiony tytuł lepiej wygląda.
    Nie jestem pewien o jakim problemie z dodatkowymi informacjami pisałeś, dodałeś id ale zamiast niego lepiej wyglądać będzie numer sezonu i odcinka (co dodałem do aktualnej wersji).

    Wydzielenie funkcji dla add_tooltip() to dobry pomysł, choć lepsza będzie dla niej nazwa nie kolidująca z nazwą kolumn w danych o serialach.

    1. btw: w twoim rozwiązaniu dla tooltipów można usunąć całkowicie layer_text() co powinno przyśpieszyć apkę.
      Wcześniej ten layer był mi potrzebny tylko po to by widać było symbol nazwa.

  7. Jak najbardziej, co do layer_smooths, domyślałem się że może to być kwestia warstw. Odnośnie dodatkowych informacji, wcześniej, w niektórych miejscach pojawiało się puste okienko z napisem „ocena”, możliwe że to też było spowodowane nakładaniem się wartsw.
    Dobry pomysł z dodaniem skrótu Season/Episode.
    Myślę że teraz naprawdę dobrze się prezentuje 🙂

  8. @smarterpoland Możesz powiedzieć coś więcej na temat problemu z bootstrapami, ponieważ obecnie też udostępniam jedną apkę i widzę że zalączony bootstrap nie przechodzi.

  9. Problem który ja miałem polegał na tym, że różne wersje shiny generują różne layouty (pracują z różnymi bootstrapami),
    jeżeli na środowisku developerskim masz inną wersję shiny niż na produkcyjnym, to możesz dostać inną strukturę strony a tym samym css’y mogą nie działać poprawnie.
    Jeżeli masz tylko jedną apkę to łatwo to rozwiązać instalując na środowisku produkcyjnym tę samą wersję co na developerskim
    Gorzej jeżeli masz kilka aplikacji i jedne mają css’y dla starszej wersji shiny inne dla nowszej, w tym przypadku pomóc może packrat.

  10. Dzięki zdążyłem już ten problem rozwiązać , czasem łatwiej napisać pytanie , niż chwilę poszukać rozwiązania:)

Dodaj komentarz

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