1.1 Proč právě R
Existuje mnoho dobrých důvodů, proč k analýze dat používat R. V odvětví data science je R je nejvíce používaným nástrojem na trhu. Ukazuje to např. studie, kterou v roce 2015 provedl Rexer Analytics a která je dostupná na https://goo.gl/UWcMCF. Téměř 80 % respondentů této studie uvedlo, že ve své analytické práci používají R, z toho téměř polovina jako hlavní analytický nástroj, viz obrázek 1.1. Studie také ukazuje, že používání R je na vzestupu, viz obrázek 1.2. R se používá jak na univerzitách, tak jej používá i mnoho velkých komerčních firem, mimo jiné Microsoft, Facebook, Google, Twitter, Ford, Uber, John Deere, Firefox, The New York Times, The Human Rights Data Analysis Group a další, viz např. https://goo.gl/oE4hjo a https://goo.gl/4d2ez2. Více se o rozšíření R můžete dočít např. na https://goo.gl/zKpMco.
Velké rozšíření užívání R mezi profesionály znamená, že R má velkou komunitu často velmi pokročilých uživatelů. Díky tomu je dostupné velké množství dobrých materiálů, ať už se jedná o knihy, blogy, návody na webu, video tutoriály nebo kurzy na Courseře. Zároveň to znamná, že vždy najdete někoho, kdo je ochotný vám poradit.
Dalším důsledkem existence velké a rostoucí komunity uživatelů je i to, že R obsahuje velké množství metod pro řešení téměř všech problémů v různých oblastech statistiky, ekonometrie a data science. Většina těchto metod je distribuována formou balíků, které jsou uloženy na jednom z centrálních repozitárů. Růst počtu balíků na hlavním repozitáři balíků pro R ukazuje obrázek 1.3. Veškeré potřebné nástroje jsou přitom přítomné v jednom softwaru, takže už nemusíte používat jeden software na přípravu dat, jiný na jejich vizualizaci, jiný na ekonometrii, další na machine learning atd.
R navíc obsahuje velmi mocný, ale relativně jednoduchý programovací jazyk, takže svoji analýzu můžete nejen provést interaktivně, ale napsat si ji i doskriptu a svůj výpočet kdykoli zopakovat stisknutím jednoho tlačítka, a to klidně na nových nebo aktualizovaných datech. Díky tomu po vás může kdokoli vaši zopakovat, což je jedna ze zásad reproducible research. Přitom můžete smíchat výpočet a text a vytvořit “živé dokumenty” (jak ostatně vznikla tato kniha). Svoji práci můžete dále zautomatizovat tak, že si na často opakované úkoly vytvoříte vlastní funkci nebo skript. A pokud vám nějaká metoda v R chybí, můžete ji sami vytvořit a případně i sdílet s ostatními.
Při tom všem je R volně šiřitelný software dostupný pro všechny hlavní operační systémy, překvapivě včetně systémů jako je Android. To znamená, že jej budete mít vždy a všude k dispozici – zdarma.
Kromě výhod má R samozřejmě i slabé stránky. Jednou z nich je to, že R je jazyk specializovaný na analýzu dat, nikoli obecný programovací jazyk jako je např. Python, C++ nebo Java. V některých situacích se tedy může stát, že budete potřebovat i nějaký další nástroj. Ve valné většině případů si však s R naprosto vystačíte.
Někdy se také říká, že R je poměrně pomalý jazyk. Striktně vzato je to pravda (i když se jeho výkon neustále zlepšuje), ve většině případů to však nevadí, protože funkce, které by v R běžely pomalu, jsou dávno implementované v C++ (případně Fortranu) a běží rychlostí těchto jazyků.
R také dokáže pracovat pouze s daty, která má uložená v operační paměti počítače. To je však zřídkakdy výrazné omezení. Např. dataset s milionem pozorování o 50 proměnných bude mít typicky něco kolem 400 MB, takže se do operační paměti běžného počítače pohodlně vejde. R navíc dokáže velmi spolupracovat s databázemi, a tak omezení pamětí počítač hravě obejít.
Překvapivě asi největší nevýhodou R je tak to, že se jedná o poměrně starý jazyk, který prošel dlouhým vývojem, přičemž se na jeho vývoji se podílely tisíce dobrovolníků bez výraznější centrální koordinace. To kromě dobrých věcí zmíněných výše působí i některé problémy. Názvy některých funkcí a jejich syntaxe jsou někdy nekonzistenční. Každou věc je možné udělat mnoha různými způsoby a k řešení mnoha problémů existuje několik různých balíků funkcí. Navíc je chování některých funkcí v některých speciálních situacích nečekané – kdysi to někomu přišlo jako dobrý nápad. Naštěstí se v poslední době většina těchto problémů řeší příchodem balíků ze skupiny tidyverse, které probereme později.