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.

Analytické nástroje nejvíce používané respondnety Rexer Analytics Survey v roce 2015; každý respondent mohl zaškrtnout více nástrojů

Obrázek 1.1: Analytické nástroje nejvíce používané respondnety Rexer Analytics Survey v roce 2015; každý respondent mohl zaškrtnout více nástrojů

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.

Růst využití R v čase respondnety Rexer Analytics Survey v roce 2015.

Obrázek 1.2: Růst využití R v čase respondnety Rexer Analytics Survey v roce 2015.

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.

RPočet balíku na CRANu ukazuje strmý růst objemu analytických nástrojů v R.

Obrázek 1.3: RPočet balíku na CRANu ukazuje strmý růst objemu analytických nástrojů v R.

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.