Co je R

R je jazyk a prostředí pro (statistické) výpočty a grafiku.

R umožňuje

  • interaktivní práci
  • psaní skriptů
  • tvorbu "živých dokumentů"

R je volně šiřitelný program pod licencí GNU.
Je k dispozici pro Linux, Windows, Mac a další operační systémy.

Proč právě R (1)

  • free software pro všechny hlavní operační systémy
  • nejvíce používaný software pro data science
  • velká komunita
    • hodně materiálů (knihy, návodů, videocasts, Coursera, …)
    • vždycky někdo poradí
    • metody pro řešení téměř všech problémů v data science
  • vše v jednom softwaru (už ne Excel, Statistika, Gretl a …)
  • programovací jazyk
    • výpočet je kdykoli zopakovat spuštěním skriptu
    • práci jde zautomatizovat (funkce, skripty)
    • chybějící metody jde doprogramovat
    • jde smíchat výpočet a text a vytvořit "živé dokumenty"

Proč právě R (2)

R je nejpoužívanější nástroj v data science.

Proč právě R (3)

R je na čele i mezi programovacími jazyky.

Proč právě R (4)

Počet dostupných metod (měřeno balíky) neustále roste.

Proč právě R (5)

R používají mimo jiné

  • Microsoft
  • Facebook
  • Google
  • Twitter
  • Ford
  • Uber
  • John Deere
  • Firefox
  • The New York Times

a samozřejmě univerzity.

Nevýhody R

  • jazyk specializovaný na analýzu dat
  • poměrně pomalý jazyk
  • dokáže pracovat pouze s daty v operační paměti
  • poměrně starý jazyk s dlouhým vývojem; vzniká decentralizovaně
    • názvy funkcí a jejich syntaxe jsou někdy nekonzistenční
    • každou věc je možné udělat mnoha různými způsoby
    • ve speciálních situacích někdy nečekané chování

Pořád je však na analýzu dat nejlepší nástroj na trhu.

Instalace R

RStudio

Hlavní panely RStudia

Čtyři panely se záložkami (jde zkonfigurovat).

  • konzola (Console)
  • editor (Source)
  • přehled prostředí R (Environment)
  • soubory (Files)
  • grafy (Plots)
  • nápověda (Help)
  • balíky (Packages)
  • historie (History)

Další se objeví, když budete dělat něco pokročilého.

Ikona Workspace Panes umožňuje jednotlivé panely a záložky dočasně zvětšit přes celou obrazovku.

Konfigurace a klávesové zkratky

Konfigurace viz lecture notes.

Klávesové zkratky: Alt+Shift+K

Instalace RStudia

Knihovny

V R je vše organizováno do knihoven.

Základní knihovny (base, methods, datasets, utils apod.) jsou přítomny v každé instalaci R a se načtou automaticky při jeho spuštění.

Ostatní knihovny je potřeba nainstalovat a před použitím načíst do paměti.

Instalace a aktualizace knihoven

Instalované balíky: záložka Packages (nahrané balíky mají zapnuté zaškrtávátko).

Instalace balíků z CRANu: v záložce Packages kliknout na tlačítko Install.

Aktualizace balíků z CRANu: v záložce Packages klikátko Update.

Kam se knihovny instalují: viz lecture notes.

Použití knihoven

Před použitím je balík nutné načíst pomocí funkce library():

library(dplyr)

Nový balík někdy překryje jméno funkce, která byla načtena v knihovně načtené dříve.

Přímé volání funkce, která je překrytá nebo je z nenačteného balíku:

dplyr::anti_join()

Nápověda

Nikdo si nemůže pamatovat všechno – a pamatovat si detaily je absurdní. Proto má R velmi dobrý systém dokumentace.

Nápovědu k přesné syntaxi funkcí můžete získat jedním ze tří způsobů:

?mean
help("mean")

nebo po napsání jména funkce zmáčknete v RStudiu klávesu F1.

Stránka dokumentace

Stránka dokumentace má následující strukturu:

  • název funkce / tématu a knihovny
  • jméno stránky dokumentace
  • popis, co funkce dělají (Description)
  • syntaxe, jak se funkce používají (Usage)
  • vysvětlení parametrů (Arguments)
  • hodnota funkce (Value)
  • odkazy na literaturu (References)
  • odkazy na jiné funkce, balíky nebo data (See Also)
  • příklady použití funkcí (Examples)

Dokumentace ke knihovnám

Dokumentaci ke knihovnám včetně seznamu funkcí, které jsou v ní obsažené, je možné získat dvěma způsoby:

help(package = "dplyr")

V RStudiu v záložce Packages klikněte na jméno zvolené knihovny.

Demonstrační kódy

Mnoho funkcí a knihoven má k dispozici demonstrační kód:

demo("graphics")
demo("bench-set", package = "dplyr")

Pokud chcete zjistit, jaké demonstrace obsahuje nějaká knihovna, zadejte

demo(package = "dplyr")

Viněty

Viněty jsou texty, které nedokumentují jednotlivé funkce, nýbrž ukazují, jak knihovnu použít jako celek nebo vysvětlují nějaký princip.

Seznam vinět přítomných v daném balíku můžete zobrazit takto:

vignette(package = "dplyr")

Seznam vinět je také zobrazen v dokumentaci balíku, viz výše.

Jednotlivou vinětu můžete zobrazit buď pomocí

vignette("introduction", package = "dplyr")

nebo kliknutím na seznam vinět v dokumentaci ke knihovně v RStudiu.

Konzola

Konzola slouží k interaktivní práce s R.

Výrazy se vyhodnotí a výsledky se vypíší.

2 + 3 * 4
## [1] 14

Skripty

Skript je textový soubor, do kterého napíšete R-kové výrazy jeden za druhý – každý nový výraz na nový řádek.

Když skript spustíte, výrazy se vyhodnotí po řádcích, jako byste je napsali do konzoly.

Vše na řádku za znakem křížku (#) se považuje za komentář; R tuto část řádku ignoruje.

Skripty je zvykem ukládat do souborů s koncovkou .R.

Styly formátování skriptů:

RStudio vás dokáže upozornit na špatný styl.

Spuštění skriptu

Ke spuštění skriptu slouží funkce

source("jmeno_skriptu_a_cesta_k_němu")
source("jmeno_skriptu_a_cesta_k_němu", echo = TRUE)

Další parametry funkce source() viz dokumentace.

Skript otevřený v editoru spustíte kliknutím na tlačítko Source.

Spuštění jednotlivých řádků skriptu: Ctrl+Enter.
Spuštění skupin řádků: v menu Code.

Pár rad, jak se učit R

  1. Nesnažte se zapamatovat všechny detaily volání každé funkce – je to v dokumentaci. Snažte se spíše pochopit princip, jak věci fungují.

  2. Hrajte si a zkoušejte věci. Vymyslete si vlastní problém a zkuste jej vyřešit.

  3. Kód z příkladů raději opište než kopírujte Ctrl-C Ctrl-V.

  4. Vždy přemýšlejte, jak a proč něco funguje.

  5. Když narazíte na neznámou funkci, přečtěte si pozorně dokumentaci a vyzkoušejte příklady na jejím konci.

  6. Neděste se, že si nezapamatujete každý parametr každé funkce – to je normální a nevadí to, viz bod 1.

  7. Když všechno selže, je tu Google.

Rady Hadleyho Wickhama

  1. Čtěte zdrojový kód cizích funkcí. Tak se naučíte mnoho věcí.

  2. Přistupujte ke kódu experimentálně. Pokud nevíte, jak něco funguje, vytvořte si hypotézu a vymyslete experiment, jak ji ověřit.

Jak R funguje

“To understand computations in R, two slogans are helpful:

  • Everything that exists is an object.
  • Everything that happens is a function call."

— John Chambers

Domácí úkol

Upravte jeden řádek ve skriptu hw_uvod_do_R.R.

Skript načte soubor income_data.RData, který obsahuje vektor příjmů tisíce lidí.

Vaším úkolem je spočítat průměrný příjem těchto lidí pomocí funkce mean(). Ale

  1. Některá pozorování v datech chybí (jsou nahrazena hodnotou NA) – chcete je vyloučit.

  2. Většina lidí má příjem mezi 10 a 30 tisíci Kč, několik lidí však vydělává 1 milion Kč měsíčně. Chcete spočítat rezistentní průměr, který vynechá 5 % (dohromady) nejnižších i nejvyšších pozorování.

Stačí nastavit parametry funkce mean().