Příprava, materiály a prezentace k workshopu

Vzdělávací workshop pro evaluátory, Konference Evaluační jednotky NOK, 5. listopadu 2020 (MMR)

O workshopu

Tento workshop je hlavně pro ty, kdo pracují s daty v Excelu nebo podobných nástrojích a občas si připadají, že jim tyto nástroje nestačí nebo jim proces analýzy přerůstá přes hlavu. Jeho cílem je pomoct účastníkům posunout svůj proces práce s daty blíž ke standardu používanému v čím dál více analytických týmech napříč obory a sektory.

Workshop na praktických příkladech účastníky provede prostředím jazyka R a programu RStudio. Účastníci se naučí pracovat s několika nástroji v jazyce R díky kterým lze snadno dosáhnout efektivnější, přehlednější a udržitelnější práce s daty, od jejich úprav a čištění přes explorativní datovou analýzu po modelování a vizualizaci.

Účastníci se také seznámí s nástroji pro tvorbu automatizovaných reportů (včetně exportů do Wordu a PDF) a naučí se přímo v prostředí R využívat česká statistická, administrativní a geografická data.

Pro účast není třeba znalost programování nad rámec mírně pokročilé práce s daty v Excelu. Stačit bude běžný počítač; není třeba nic instalovat.

Lektor: Petr Bouchal

Před workshopem

Technická příprava

1. Požadavky na počítač

Na workshop vám bude stačit

  • běžný počítač
  • s moderním prohlížečem (Firefox, Chrome, Safari, Internet Explorer 11, Microsoft Edge).

Na operačním systému nezáleží.

2. RStudio Cloud

Na workshopu budeme využívat službu RStudio Cloud. To nám umožní snadno se pustit do práce s RStudiem a R bez nutnosti cokoli instalovat, rozhraní je přitom stejné, jako byste si R a RStudio nainstalovali na svůj počítač, jen se vyhneme případným zádrhelům s instalací.

(RStudio je jeden z programů, ve kterém se dají tvořit datové analýzy v jazyce R - existují i jiné, podobně jako existuj víc prohlížečů, přes které můžete koukat na webové stránky.)

Budete potřebovat bezplatný účet v RStudio Cloud. Ten si snadno zřídíte na https://rstudio.cloud/plans/free, buď na emailovou adresu nebo přes Google účet, popř. Github účet, pokud ho náhodou máte (pokud nevíte, o co jde, nevadí - použijte email nebo Google účet). Bezplatný účet nabízí jen omezené využití, takže na dlouhodobé intenzivní používání to není, ale na worskhop to bude bohatě stačit.

3 Stažení materiálů

Před workshopem zde najdete pracovní materiály ke stažení. Na začátku workshopu je přeneseme do RStudio Cloud, abychom s nimi mohli dál pracovat.

Adresa pro načtení materiálů do RStudio Cloud: https://github.com/petrbouchal/eval2020

Adresa pro stažení materiálů: (např. pro vlastní potřebu / uchování; při workshopu by neměla být potřeba) https://github.com/petrbouchal/eval2020/archive/main.zip

Repozitář s kódem na Githubu: https://github.com/petrbouchal/eval2020/

Jak použít podklady z workshopu

Na https://github.com/petrbouchal/eval2020/ najdete aktuální verzi materiálů tak, jak jsem je připravil

Ve vašem účtu v RStudio Cloud najdete materiály tak, jak jste si je při workshopu upravili

Pokud budete chtít s materiály strávit delší čas, doporučuju buď si je stáhnout ze svého účtu a pracovat s nimi v R na vlastním počítači, nebo si stáhnout ZIP z Githubu a po rozbalení otevřít v RStudiu na Vašem počítači.

Pro porozumění práci v R u typické datové analýzy doporučuju projít a postupným spouštěním proklikat soubor 03_report-reseni.Rmd.

RStudio Cloud vám v bezplatné verzi umožní jen omezený čas užívání za měsíc.

Co kde v podkladech je a jak to použít:

Celý adresář, který se rozbalí ze staženého ZIP archivu, je RStudio projekt. Poklepáním na soubor eval2020.Rproj tento projekt otevřete v RStudio, pokud ho máte nainstalované.

Pokud byste chtěli aktualizované podklady načíst v RStudiu Cloud, nejjednodušší je vytvořit nový projekt: klikněte na šipku dolů u tlačítka New project, vyberte New project from Git repository a vložte adresu https://github.com/petrbouchal/eval2020/.

  • jako první spusťe skript 0_priprava.R: tím se nainstalují potřebné balíky a stáhnou data z googlu používaná v dalších skriptech
  • pak už můžete pracovat s R skripty (01_prvni-skript.R a 02_tabulkova-data.R/02_tabulkova-data-reseni.R) i s RMarkdown reportem (03_report-reseni.Rmd)
  • ve skriptech tidyverse-priklady.R a ggplot2-priklady.R najdete kód pro příklady ze slidů: transformace dat v {tidyverse} i vizualizace dat v {ggplot2}.
  • v adresáři data-zdroje je stažená aktuální verze dat z Googlu; spuštěním skriptu 01_prvni-skript.R data aktualizujete stažením nové verze z Googlu.
  • v adresáři docs/ najdete dokumentaci, která je i na webu, včetně slidů. Pro zajímavost: v souborech Rmd najdete zdrojový kód dokumenace v Markdownu.

Volitelné nahlédnutí do světa R

Pokud se nemůžete dočkat a R je pro vás úplně nové, doporučuju jedno z následujícího:

  1. rozhlédnout se v tomto videu (cca 1 hodina):

A Gentle Introduction to Tidy Statistics in R - RStudio

  1. nebo si pročíst úvod do bezplatné online knihy R for Data Science; tento workshop sdílí pedagogický přístup knihy k programování s daty.

  2. Alternativně, pokud si chcete na R malinko sáhnout, zkuste jeden z úvodních interaktivních tutoriálů od RStudia.

Materiály pro práci na workshopu

Materiály jsou zveřejněný pod licencí Creative Commons CC-BY Licence Creative Commons
Toto dílo podléhá licenci Creative Commons Uveďte původ 4.0 Mezinárodní License. Můžete je využívat bez omezení.

Materiály ke stažení

Adresa pro načtení materiálů do RStudio Cloud: https://github.com/petrbouchal/eval2020

Adresa pro stažení materiálů: (např. pro vlastní potřebu / uchování; při workshopu by neměla být potřeba) https://github.com/petrbouchal/eval2020/archive/main.zip

Repozitář s kódem na Githubu: https://github.com/petrbouchal/eval2020/

Klávesové zkratky

Znaky

Win / Mac

  • AltGr+35 / Alt+3 #
  • AltGr+38 / Alt+7: &
  • AltGr+; (středník) nebo Alt+96 / : Alt + 1 na české Mac klávesnici: ` (backtick)
  • AltGr+, (čárka) nebo AltGr+60/ Alt+?/< : <
  • AltGr+, (tečka) nebo AltGr+62 / Alt+./< : >

Win: (na Macu buď anglická klávesnice, nebo na české Alt+klávesa, kde je znak vidět)

  • AltGr+94: stříška ^
  • AltGr+123: { Otevřená složená závorka
  • AltGr+124: | Svislá čára
  • AltGr+125: } Zavřená složená závorka
  • AltGr+126: ~ Vlnovka
  • AltGr+91: [ Otevřená hranatá závorka
  • AltGr+92: \ Obracené lomítko
  • AltGr+93: ] Zavřená hranatá závorka

RStudio

Cmd pro Mac, Ctrl pro Windows

  • Alt+- (minus): <- (znak přiřazení v R)

  • Cmd/Ctrl+M: %>%

  • Cmd/Ctrl+Enter: spustit aktuální řádku kódu

  • Cmd/Ctrl+Shift+Enter: spustit celý skript

  • Cmd/Ctrl+Shift+C: zakomentovat/odkomentovat aktuální řádek

  • Cmd/Ctrl+Alt+I: nový code chunk v RMarkdown

Slides

Kam dál po workshopu

1. Stáhněte si projekt z cloudu

Výsledný balík pak můžete rozbalit a dvojklikem otevřít soubor s koncovkou .Rproj - tím se v RStudio otevře projekt.

(viz https://community.rstudio.com/t/how-does-one-download-files-from-rstudio-cloud-onto-desktop/52132)

2. Nainstalujte R na svůj počítač

Ve zkratce: potřebujete nainstalovat R, pak RStudio, pak v RStudiu balíky podle potřeby.

Viz např návod na https://stat545.com/install.html.

3. Učte se dál

Kromě nápovědy zmíněné ve slidech jsou užitečné i taháky (cheatsheets) od RStudia, mj. tyto:

Jediný otevřený český úvod do R, o kterém vím, je Úvod do analýzy dat v R z Filosofické fakulty UK (Mazák a Vomáčka 2020)

Jak na R, pokud znáte Excel

viz tento tutoriál

Bonus: pro organizaci dat v excelových souborech je užitečné dodržovat dobré praxe popsané v článku Data Organization in Spreadsheets (Broman & Woo 2017).

Vizualizace dat v R

Doporučuju používat balík {ggplot2} - ochutnávku jste viděli na workshopu a je ve slidech. Úvod dokumentace do balíku obsahuje i dobrý rozcestník na další zdroje.

Kanonický úvod do {ggplot2} je ggplot2: Elegant Graphics for Data Analysis (Wickham, Navarro a Lin Pedersen 2020) (3. vydání)

Kompletně vizualizaci dat v {ggplot2} pojednává kniha Data Visualization: A practical introduction (Healy 2019), popř. Fundamentals of Data Visualization (Wilke 2019).

Pro webovou a interaktivní vizualizaci doporučuji prozkoumat balíky {plotly} a {ggiraph}.

Jak dostat data do a z R

Nejspíš budete pracovat s dvěma formáty dat: CSV a Excel.

Pokud chcete načíst soubor z excelu, použijte funkci read_excel() z balíku {readxl}. V nápovědě k funkci najdete instrukce, jak načíst konkrétní listy souboru nebo jak přiměr R poznat v excelových souborech správné datové typy (datumy atd.)

Pokud potřebujete načíst CSV, použijte read_csv() z balíku readr.

Pokud potřebujete vyexportovat data z R do Excelu, použijte balík {writexl} nebo funkci write_excel_csv()/write_excel_csv2() v balíku {readr}.

Funkce pro načítání a vytváření CSV souborů v balíku {reader} mají i verzi pro “evropský” formát: desetinné čárky místo teček, buňky oddělené středníky místo čárek. Tyto funkce končí číslem 2: read/write_csv2().

Kategorická a textová data

Pokud jste z SPSS a Staty zvyklí na proměnné s “labels”, budou vám povědomé “factors” v R: sloupce (obecně proměnné/objekty), kde jednotlivé hodnoty nabývají jednu z daných textových hodnot, přičemž tyto “labels” lze řadit a podle toho se objeví i v tabulkách a grafech. Taková data se liší od standardních textocých (“character”) proměnných.

Na práci s takovými daty je stavěný balík {forcars} (přesmyčka z “factors”), další součást tidyverse. Dokumentace balíku na forcats.tidyverse.org/ je i dobrý úvod do práce s faktorovými proměnnými v R.

Bonus: v poslední době se zlepšují nástroje na analýzu textu v R, včetně češtiny. Obecný úvod do analýzy textu v R kompatibilní s logikou {tidyverse} najdete v knize Tidy Text Mining in R.

Jak se dostat k užitečným datům

Pro evaluátorskou potřebu jsou užitečné tyto zdroje dat, ke kterých se dá v R dobře dostat:

  • Eurostat: balík {eurostat}
  • ČSÚ: balík {czso}
  • OECD: balík {oecd}
  • Světová banka: balík {wbstats}
  • Státní pokladna MFČR: balík {oecd} - rozpočty, přájmy a výdaje a účetní výkazy všech českých veřejných organizací: ministerstev, obcí aj.

Všechny tyto balíky sledují stejnou logiku: můžete si stáhnout kompletní katalog otevřených dat dané instituce a následně si podle identifikátoru z katalogu stáhnout konkrétní tabulku.

  • Česká geografická data od ČÚZK: balíky {CzechData} a {RCzechia}: fungují podobně, {RCzechia} zprostředkuje přístup i ke geokódovacímu rozhraní ČÚZK (“zadám adresu, dostanu souřadnice”)
  • Geografická data Eurostatu: {GiscoR} - včetně všech českých obcí aj.

Širší úvod https://petrbouchal.xyz/slides/pssau2020-07/

Geografická data a mapy v R

R pro mě zastane většinu funkcí stadnardního GIS softwaru jako ESRI nebo QGIS, opět s výhodou že práci s daty mám zaznamenanou v kódu, tj. zdokumentovanou a reprodukovalntou.

Dobrý úvod do možností práce s geografickými daty v R najdete v online knize Geocomputation with R (Lovelace et al. 2019).

Hlavní balík, který budete používat, se jmenuje {sf} a má skvělou dokumentaci na r-spatial.github.io/sf/.

K vizualizace lze použít {ggplot2} nebo {tmap}, na tvorbu webových map {mapview} nebo {leaflet}.

Verzování kódu: práce s git a Githubem

Abyste se neztratili ve skriptech s názvy jako skript_hotovo_v2_final3_fin.R, měli byste na svou analytickou práci používat i systém k verzování kódu. Nejběžnější je systém git.

Nejlepší úvod do Git pro práci v R je happygitwithr.com/.

Dobré praxe pro datovou analýzu v R

Abyste se ve své práci vyznali, je dobré zvyknout si dodržovat pár dobrých praxí ve dvou zdálnivě nudných oblastech:

  1. pojmenování věcí, se kterými pracujete (soubory, objekty, proměnné): projděte si https://speakerdeck.com/jennybc/how-to-name-files - jsou tam rady užitečné i mimo svět R.
  2. organizace projektů v adresářích: projděte si https://rstats.wtf/project-oriented-workflow.html

Interaktivní webové aplikace

viz systém {shiny}:

Nebojte se ptát, hledat a zapojit

Jeden z důvodů, proč propaguju R, je přívětivost lidí, kteří s ním pracují a dostupnost dobrých návodů a otázek a odpovědí.

Hledejte/ptejte se

Připojte se

Sledujte akce TidyTuesday a aktivity RLadies.

Sledujte