Przejdź do treści

Ankieta – wyniki (i jak je podsumować w R)

Wyniki ankiety to jedno, a drugie to narzędzie do ich uzyskania i przedstawienia. Łączymy przyjemne z pożytecznym.

Ankietę przygotowałem korzystając z Google Forms – to jedna z najwygodniejszych opcji (systemów do ankiet jest wiele), szczególnie jeśli chcemy mieć od razu dane (odpowiedzi) w postaci tabeli (w tym przypadku arkusza Google Sheets). Kiedy ankieta jeszcze trwała przygotowałem poniższe skrypty i na bieżąco mogłem śledzić zarówno liczbę oddanych głosów jak i rozkład poszczególnych odpowiedzi. To bardzo przydatne jeśli z jakiegoś powodu chcielibyście wiedzieć jak wpływają różne akcje zarówno na wypełnienie (liczbę odpowiedzi) jak i same odpowiedzi.

Jeśli interesują Cię tylko wyniki ankiety, a nie sposób ich wyciągnięcia i pokazania – przejdź do odpowiedniej sekcji.

Jak pobrać dane z Google Sheets?

Do uzyskania surowych danych z arkusza Google wykorzystamy pakiet googlesheets (jeśli go nie masz – zainstaluj przez install.packages("googlesheets").

Jak używać tego pakietu można przeczytać w przykładach (vignettes), a te kilka linijek kodu poniżej powinno wystarczyć na początek.

Na początek pobierzemy listę dostępnych na naszym koncie skoroszytów:

Przy pierwszym wykonaniu gs_ls() zostaniemy przekierowani do przeglądarki i poproszeni o zalogowanie się do konta Google. W końcu musimy wiedzieć z którego konta arkusze przeglądamy. Odpowiednie uprawnienia zostają zapisane na przyszłość w pliku .httr-oauth i na przyszłość nie będziemy proszeni o logowanie. Pamiętajcie, że ten plik jest bardzo cenny i w żadnym przypadku nie wrzucajcie go do sieci – na przykład na GitHuba (na szczęście RStudio automatycznie doda go do .gitignore).

Tabela my_sheets zawiera kilka informacji:

  • tytuł skoroszytu
  • autora
  • uprawnienia (zapis/odczyt)
  • wersję
  • czas ostatniej zmiany
  • linki do skoroszytu w kilku formach

My potrzebujemy tylko nazwy – wybieramy więc konkretny arkusz:

Obiekt gsheet zawiera jeszcze więcej danych – poza już wymienionymi między innymi liczbę arkuszy n_ws. Interesuje nas pobranie danych z konkretnego arkusza:

W danych z formularza mamy tylko jeden arkusz, więc domyślne ws = 1 nam wystarczy. Gdyby dane były rozsiane po kilku arkuszach parametrem ws możemy wskazać odpowiedni. Poeksperymentujcie.

Mamy dane, robimy z nimi co chcemy :)

Zanim przystąpimy do omówienia wyników kilka funkcji pomocniczych. Omówienie (poniżej) będzie polegało na przedstawieniu albo wykresów albo tabelek. Albo dla jednego wymiaru (na przykład z pytania o płeć), albo jako przecięcie dwóch (na przykład płeć versus wiek). Dzięki tym funkcją narysowanie wykresu sprowadzi się do jednej linijki kodu zamiast powielania tego samego co chwilę.

Funkcje wykorzystują elementu z pakietu dplyr dostępne od wersji 0.7 – to ważne. W starszych wersjach nie zadziałają. Funkcje te to enquo() i !! przydatne do przekazywania parametrów będącymi nazwami kolumn.

Mamy wszystko gotowe, zatem do dzieła!

Ankieta – wyniki

Udało się zebrać 117 odpowiedzi – to dość dużo. W obecnej chwili jest około 560 fanów fanpage’a Dane i Analizy gdzie głównie promowałem ankietę.

Dla porównania w ankiecie organizowanej przez Krzysztofa Sopylę wzięło udział 115 osób, a mam wrażenie że zasięg był zdecydowanie większy (posty sponsorowane na FB, linki na grupie Data Science PL – ponad 2.6 tys. członków grupy, czy też w podcaście Data Science po polsku – około 515 fanów). Jej wyniki znajdziecie tutaj. Swoją drogą – Krzysztof udostępnił link do żywych danych, możecie na nich przećwiczyć szukanie przekrojów.

Wyniki zbierałem przez około dwa tygodnie – od 2017-10-03 do 2017-10-17. Dłużej nie było sensu, bo…

…w sumie po tygodniu było prawie 96% zgromadzonych odpowiedzi (ta czerwona linia).

Z ciekawości zobaczmy jeszcze w jakich godzinach udzielaliście odpowiedzi:

Dwa piki o 16 i 20 to wynik dwóch postów na Dane i Analizy nawołujących do wypełnienia ankietki. W sumie reagujecie dość szybko na posty. Kiedyś to zbadamy.

Przejdźmy do ciekawszych wyników: chłopcy czy dziewczynki?

87% z Was to panowie. Jest to wynik, którego się spodziewałem.

w jakim wieku jesteście?

Połowa to osoby w wieku 25-35 lat. Przedziały odpowiedzi dobrałem specjalnie. Chodziło mi o znalezienie osób przed studiami, w ich trakcie i po studiach (25-35 lat – tych jak widać jest najwięcej) a także starszych, głównie albo doświadczonych badaczy danych albo managerów. Cieszy mnie, że jest wśród Was w sumie 3/4 osób w wieku wskazującym na ukończone studia. No i prawie 100% pełnoletnich – mogę więc przeklinać w postach i pisać o seksie albo alkoholu.

Płeć versus wiek

To pytanie miało na celu weryfikację czy rozkład wieku pań i panów jest podobny. Jest podobny:

Skąd pochodzicie?

Prawie połowa to województwo mazowieckie (zapewne Warszawa). To pytanie miało ukryty sens. Ponieważ sam mieszkam w Warszawie dane, które sobie oglądam głównie pochodzą z Warszawy. Chciałem sprawdzić czy to może być dla Was ciekawe. Ma to znaczenie szczególnie w przypadku map – wiem co jest w których częściach miasta i czego można się tam spodziewać (korki, ruch rowerów, ceny mieszkań). Gdybym miał analizować dane dla Szczecina byłoby już trudniej (nie wiem gdzie w Szczecinie przebiegają główne ciągi komunikacyjne). A z drugiej strony w mediach widać tendencję Warszawo-centralistyczną – wszystko odnoszone jest do stolicy. Metro zatrzymane to już alarm w TV. A co obchodzi kogoś w Lublinie warszawskie metro czy zalana jakaś ulica? Staram się rozumieć mieszkańców innych miejscowości. Stąd to pytanie.

Po Waszych odpowiedziach widzę, że nie muszę martwić się tym, że dane warszawskie mogą być mało interesujące (i potem czytać zrób to samo dla Gdańska!). Ale obiecuję, że nie będę ograniczał się tylko do stolicy.

Czym się zajmujesz?

To bardzo ważne pytanie. I odpowiedzi jakie uzyskałem utwierdzają mnie w pewnym przekonaniu (za chwilę sami się dowiecie):

Mniej więcej po równo jest czytelników robiących to co ja (analiza danych, raporty) i takich, którzy zapewne czytają bloga jak dobrą książkę (mam nadzieję, że dobrą) – chcą się dowiedzieć czegoś o świecie, czegoś co wypływa z otaczających nas danych. Jakaś 1/8 to studenci – Wy wpadniecie za chwilę (zapewne) w tę pierwszą grupę (robiącą analizy) i szukacie czegoś co Wam pomoże w nauce (znowu: to moja projekcja, moje marzenia że tak właśnie jest). Super, dokładnie o to chodzi.

Czwarta grupa to odbiorcy raportów. Szczerze mówiąc na takich liczę najbardziej. To potencjalni pracodawcy ;-), a przede wszystkim – osoby, które mogą ocenić czy sposób przedstawienia informacji jest przyswajalny. Liczę na Wasz odzew!

Czym się zajmujesz a wiek

Ten przekrój to tylko weryfikacja tezy, że przedział 18-25 lat to studenci. Oczywiście zgadza się:

Najwięcej studiujących jest właśnie w wieku 18-25 lat. Po studiach przez pierwsze 10 lat robimy raporty i analizki (albo coś innego). Później przy tym zostajemy. Managerów mamy już przed trzydziestką ;)

Czym się zajmujesz versus płeć

Tutaj przede wszystkim znajdujemy potwierdzenie, że nasi odbiorcy raportów są w mężczyznami mieszkającymi…

Czym się zajmujesz versus województwo w którym mieszkasz

…zapewne w Warszawie (5 osób) lub Lublinie (1 osoba).

Teraz coś o skuteczności działań marketingowych.

Skąd wiesz o fan page?

Szczerze powiedziawszy zapomniałem o podcaście Niebezpiecznik.pl (polecam szczególnie trzeci odcinek – tam Piotek zrobił mi niezłe promo), a jak się o czymś zapomina to później trzeba łatać. Przy okazji łatamy i inne źródła:

Mamy więc mniej lub bardziej prawdopodobne źródła pozyskiwania fanów stron na Facebooku:

  • linki, komentarze i udostępnienia przez fanów – im ciekawsza treść tym lepiej się rozchodzi i tym więcej fanów przynosi
  • wklejka na stronie bloga też swoje zrobiła
  • polecenia w mniej lub bardziej podobnych mediach działa wyśmienicie (dzięki Piotr!)
  • reklama na FB zrobiła początkową masę, później z niej zrezygnowałem i dzieje się samo
  • zdziwiło mnie, że tak dobrze działa fb.com/DaneAnalizy umieszczone na wykresach które publikuję – mi osobiście nie chce się przepisywać takich adresów

Jak często zaglądasz na fan page?

Tutaj chciałem sprawdzić przyzwyczajenia i sposób przeglądania Facebooka. Zapewne są setki opracowań na ten temat, ale nie ma jak własne dane :)

Zasięg, zasięg i jeszcze raz zasięg. Jeśli Facebook nie pokaże sam z siebie czegoś na czyimś wallu to nikt nie wchodzi specjalnie na fan page’a. Nie wchodzi, bo ma tych fanpage’ów zalajkowanych dziesiątki. A FB pokaże jak uzna, że jest warto pokazać jak inni uznają, że jest ciekawe (komentując czy lajkując). Na tym to polega. Zatem lajkujcie i komentujcie to co znajdziecie na fanpage’u!

Jak często powinny być posty na fan page?

Tego się bałem najbardziej. Wcale nie jest łatwo wyszukać coś ciekawego. Raz na dzień wystarczy. Uff…

A może chcecie newsletter?

Dlaczego nie komentujesz postów?

I nie robisz mi zasięgów?

label %
bo nie mam nic do powiedzenia 58.9
bo mi się nie chce :P 25.6
przecież komentuję! 6.8
bo ciężko mi pisać po polsku, ale nie chcę obrazić kogoś, używając angielskich komentarzy 0.8
Bo nie od razu uwaznie czytam, a pozniej jak juz czytam/przestudiuje to nie wracam do postu, w ktorym to bylo.. 0.8
Brak konta 0.8
Brak potrzeby 0.8
Narazie obserwuje 0.8
nic, używam RSSa 0.8
nie wiem jak 0.8
Nie zawsze mam coś ciekawego do powiedzenia. Zwykle w ciszy czytam sobie to co zostanie opublikowane. Częściej komentuję pod samym wpisem z bloga niż na facebooku. 0.8
Unikam komentowania w internecie 0.8
zacznę ;) 0.8

Powody czysto ludzkie, nic zaskakującego. Nie jestem social media ninja i nie potrafię prowokować komentarzy. A żebrolajki (czyli akcje “jeśli lubisz to lajk, a jeśli nie to komć”) chyba już nie działają.

Co Was interesuje?

To najważniejsza dla mnie sekcja – od tych odpowiedzi zależy przyszłość tematów.

Czego oczekuję od fanpage?

Odpowiedzi z Google Forms dla pytań wielokrotnego wyboru umieszczone są jako jeden ciąg rozdzielony przecinkami (to słabe rozwiązanie, powinno się dać zdefiniować na poziomie formularza znak rozdzielający). W związku z tym musimy podejść nieco inaczej do tej kolumny:

Procenty nie sumują się do 100% (pytanie wielokrotnego wyboru).

Pierwsza piątka odpowiedzi idealnie trafia w to co sam planuję (i staram się realizować). Zdaję sobie sprawę, że mało jest linków do zbiorów danych. Ale trochę jest tak, że jak znajduję coś ciekawego to chcę to dla siebie (jako temat na kolejne wpisy). Obiecuję poprawę :)

Czego oczekujesz od bloga?

Znowu pytanie wielokrotnego wyboru. Cieszę się, że interesuje Was prognozowanie – mnie też. EDA przerabialiśmy wielokrotnie i w sumie chyba nic odkrywczego już nie zrobimy. Zazwyczaj polega to na znalezieniu danych, narysowaniu kilku wykresów w różnych przekrojach (czasem wzbogacając dane albo je agregując). Dla wyjadaczy R: dplyr i ggplot2 wystarczają :)

Sieci neuronowe to coś co sam chcę zgłębić i pewnie z czasem coraz więcej tego typu treści się pojawi. Z dużymi danymi jest trudniej – wymagają architektury (Spark, jakieś SQLowe bazy). Ale też się postaram. O rekomendacjach będzie niedługo (pewnie na podstawie filmów i Filmwebu).

Sprawdźmy jeszcze jak zbieżne są zainteresowana odnośnie postów na fan page i na blogu:

Oraz co kogo interesuje (w zależności od zajęcia):

Jeśli ktoś pracuje z danymi – chciałby poznać magię i kuchnię. Nawet jeśli ktoś nie pracuje na co dzień z danymi chciały wiedzieć jak coś “wyłuskać” (podobna mi się to – kwestionowanie świata zastanego to postawa godna inteligentnych ludzi; trzeba szukać, podważać i sprawdzać samodzielnie), a jeśli nawet samodzielnie nie chce tego robić to chętnie się dowie o wynikach.

Jak to, co robicie przekłada się na to o czym chcecie przecytać?

Na prawdę interesuje Was tylko co można wydobyć z danych? W machine learningu ciekawsze jest co można zrobić dzięki danym – co przewidzieć, co podpowiedzieć, jakie problemy rozwiązać. A nie tylko wykresiki… Oczywiście eksploracja danych jest ciekawa, szczególnie kiedy złączymy dane z wielu źródeł. I jeśli będzie coś na ten temat to zapewne w tym kierunku (ale nie tylko mapka i dane ;).

Za najlepszy wpis na blogu uważacie…

Social media interesują większość. Bo to ciekawe jak z niczego (ot, jakieś komcie na fejsie) wyciągnąć target swoich działań. Jakim językiem ma mówić partia polityczna do swoich zwolenników (szczególnie przyszłych)? Ano takim, jakich ma fanów (a skoro wiemy, że noszą okulary, mają około 35-45 lat i lubią piłkę nożną to… sami pomyślcie).

Grafy sam lubię – tam była teoria na przykładzie prawdziwego życia. Ceny mieszkań to hit Wykopu i zarazem kompleksowy przykład rozwiązania konkretnego problemu (znalezienie danych, ich przygotowanie i obserwacja z wyciągnięciem wniosków; powinienem za to brać grubą kasę).

Najlepszy wpis a zajęcie odpowiadającego

Tutaj mam kolejne potwierdzenie swoich przewidywań: kopiesz w danych to chcesz wiedzieć jak to robić (kompleksowo – ceny mieszkań, Veturilo, social media). Nie kopiesz – interesują Cię uniwersalne analizy (i dobrze opisane, nie tylko jeśli chodzi o kod).

Co Ci się nie podoba?

Mam nadzieję, że ostatni wpis o statystykach związanych z wypadkami drogowymi i działaniami Policji Was chociaż trochę zaspokoił? Problem polega na tym, że pisząc kolejne wpisy najbardziej interesuje mnie znalezienie rozwiązania problemu. Późniejsze opisanie problemu i wyniku poszukiwań jest już nieco nudne – ja już przecież wiem jakie są wyniki ;)

Wygląd. Tego nie zamierzam zmieniać. Szablon bloga w założeniu ma być minimalistyczny na maksa. Może dopracuję się kiedyś ładniejszych kolorków na wykresach. Jestem typem, który może powiedzieć czy ładne czy brzydkie, ale żeby samemu zrobić ładne to już gorsza sprawa…

Pytanie było otwarte, więc znalazły się wpisy z wolnej ręki, lejące miód na moje serce:

  • kocham autora za jego wkład pracy
  • muszę też nauczyć się myśleć analitycznie – ale Twoje teksty są tak dobre!
  • pozyskujesz dane nie wiadomo skąd i robisz z tego świetne analizy
  • jak znajdujesz interesujące pytania, których sam bym nie zadał – nie wpadłbym na to
  • najlepszy polskojęzyczny blog o DS w R

Z tym ostatnim się nie zgadzam (ale też nie znam innego polskojęzycznego bloga o R ;).

Na koniec coś o kodach, czyli odwieczne pytanie:

Python czy R?

Osobiście uważam, że oba. Pythona nie znam – czytam, rozumiem, ale nie piszę. Uważam, że R jest wygodny (świetne IDE – RStudio), według mnie szybszy w pisaniu. Python z kolei jest bardziej uniwersalny, szybszy w działaniu, na linuksowych systemach nie wymaga instalacji (R jednak trzeba zainstalować). R ma Shiny i flexdashboard świetne do robienia szybko interaktywnych paneli (zobacz na post o migracjach Polaków – więcej kodu zajmuje ściąganie i przygotowanie danych niż warstwa wizualizacji). Oba narzędzia się uzupełniają. W R wygodniej pisze się bloga (Rmarkdown z kodem i komentarzem, na koniec eksport do HTMLa).

Odpowiedzi są z tym zbieżne. Blog jest o R, więc oczywiście oczekujecie R. Ale chcecie nauczyć się Pythona.

Qlika nie będzie, już prędzej byłoby Tableau albo PowerBI, ale z nimi jest problem taki że nie da się łatwo opisać tego co i jak zrobić (screenów nie będę wklejał), a i publikacja wyników jest utrudniona. Visual Basic… no używam w pracy. Głównie po to, żeby w Accessie wywołać napisane w SQLu query, przekleić dane do Excela i odświeżyć pivoty w tym ostatnim. Ewentualnie przepisać dane z jednej tabelki do drugiej (w Excelu) i odpowiednio przeformatować dane (kolorki, ułożenie w tabelki). Swoją drogą, że też Excel nie ma funkcji filtrujących dane… takiego filter() z dplyr potrzebuję…

Ciekawe jest coś innego:

Python czy R – w zależności od zajęcia

Analitycy używający R chcą R albo nauczyć się Pythona. Oczywiste. Ale 16 osób to osoby, które nie zajmują się analizą danych a chciałby nauczyć się Pythona.

I to wszystkie wyniki. Serdecznie dziękuję za Wasz poświęcony czas na odpowiedź na te kilka pytań. Mam nadzieję, że się dostosuję i będziecie zadowoleni.

4 komentarze do “Ankieta – wyniki (i jak je podsumować w R)”

  1. „Qlika nie będzie, już prędzej byłoby Tableau albo PowerBI, ale z nimi jest problem taki że nie da się łatwo opisać tego co i jak zrobić (screenów nie będę wklejał), a i publikacja wyników jest utrudniona”

    – tutaj bym się nie zgodził, z Tableau możesz wrzucić na Tableau Public i osadzić to potem we wpisie

  2. Pingback: Sondaże przedwyborcze | Łukasz Prokulski

  3. Pingback: Parsowanie XMLa w R | Łukasz Prokulski

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *