1 Proč jsem vyměnil Excel za R
Spreadsheety používám od konce 80. let prakticky denně. Multiplan, Supercalc, Quatro, Lotus, Excel, Google Sheets. Jsou báječné, miluju je, ale několik posledních let po nich sahám už jen párkrát do měsíce. Většinu času totiž používám R a RStudio.
Je to dáno nároky mé práce, vyšší efektivitou a taky tím, že mě R víc baví. Možná jste na tom podobně jako já a R pro vás bude taky vhodnější. A možná nebude. Máte mu dát šanci? Zlepší váš pracovní život, nebo to bude ztracený čas? Zkusím vám pomoci, abyste se rozhodli správně.
1.1 Co je R a RStudio
R je programovací jazyk (to zní strašně, co?) navržený pro statistiku. Tradičně se používá pro zpracování dat z medicinských či vědeckých výzkumů, ale čím dál častěji po něm sahají i datoví analytici z byznysu. Zároveň je to interaktivní prostředí vhodné pro rychlé ad hoc výpočty a také je to ekosystém desítek tisíc knihoven (říká se jim balíčky), které pomáhají řešit nejrůznější úkoly snad ze všech oborů lidské činnosti.
Samotné R už ale používá málokdo. Většina uživatelů pracuje v RStudiu, což je integrované vývojové prostředí (IDE, Integrated Development Environment), které umožňuje mnohem pohodlnější a efektivnější práci než základní prostředí R.
Podstatné je, že R (i RStudio) vymýšleli a pořád ještě vymýšlejí statistici, vědci, analytici, nikoli programátoři. Obecně je proto bližší spíš neprogramátorům, např. tím, že má přímo v sobě zabudovanou velmi podrobnou a snadno dostupnou nápovědu. Ve většině programovacích jazycích se programuje, ale R se spíš používá. Jako Excel :-)
1.2 Pro koho je R vhodné
Už jsem říkal, že R tradičně používají lékaři, biologové a jiní vědci, např. k tomu, aby na základě experimentů vyhodnotili, který lék je jak účinný, nebo co ovlivňuje vznik rakoviny. Všiml jsem si také, že je R docela populární ve financích, např. pro výpočty investic nebo pojistných rizik. Já ale vědec, lékař ani bankéř nejsem, takže budu mluvit spíš o svém oboru, což je marketing.
V marketingu se R velmi dobře hodí např. k vyhodnocování A/B testů, pro zákaznickou analytiku (proč někteří zákaznici nakupují víc a jiní míň), analýzy prodeje, návštěvnosti, nebo třeba PPC (pay per click reklama) a SEO (optimalizace pro vyhledavače). Je to i brána do světa strojového učení, které jde aplikovat např. na analýzu on-line obsahu nebo vazeb v sociálních sítích.
Jiná otázka je, pro koho je R vhodné z pohledu profesních a osobnostních předpokladů. Když to posuzuju podle sebe a dalších, které jsem v téhle souvislosti potkal, R sedne:
- analytickým typům, pro které je Excel základ, ale trápí je jeho omezení,
- lidem, kteří si rádi lámou hlavu víc než ostatní, rádi se učí a hledají nové cesty,
- lidem, kteří se nebojí něčeho, co vypadá jako programování, nebo už mají s kódováním či skriptováním určité zkušenosti.
1.3 Kdo by se do R rozhodně neměl pouštět
Asi je hloupost se do R pouštět, pokud ho k ničemu nepotřebujete. Používáte Excel, pracujete v něm rychle a efektivně a nikdy jste nenarazili na nic, co by neuměl? Pak R nejspíš nepotřebujete.
Když slyšíte slova jako programování, kódování, skripty nebo programovací jazyk, dostáváte vyrážku a začne vás bolet hlava? Pak pro vás R taky nebude.
Nebo naopak bravurně programujete v Pythonu a jste s ním pro své datově-analytické potřeby naprosto spokojeni? Ani pak R spíš nevyužijete.
Do R se raději nepouštějte ani v případě, že neumíte alespoň pasivně anglicky. Anglických zdrojů je na webu bambilion, ale českých jen pár.
1.4 Co vám R ve srovnání s Excelem přinese
Stručně: rychlost, efektivitu, více možností, eleganci. A zároveň trochu trápení při studiu.
Jde to říct i konkrétněji:
- Na velmi jednoduché ad hoc (neopakované) úlohy nepřinese R nic. Když si chci udělat rychlý rozpočet narozeninové oslavy, vezmu si na to Google Sheets a ne R.
- Pokud budu chtít z firemní databáze vytáhnout, které zboží se nejvíc prodává např. podle roční doby, mohu to udělat v Excelu i v R. Vyberu si ale R, protože to udělám rychleji, elegantněji a postup půjde snáz kdykoli zopakovat s čerstvými daty.
- Na obsahovou analýzu tweetů konkurence si vezmu určitě R, protože to by Excel vůbec nezvládl.
Speciálními výhodami R pak je R Markdown a Shiny. Tím prvním jdou dělat znovupoužitelné, automatické, moc hezky vypadající reporty, které ocení každý, kdo pracuje pro klienty nebo pro náročného šéfa. Ostatně i tato kniha je napsaná v R Markdownu. To druhé slouží k tvorbě interaktivních webových aplikací, které zpracují nejrůznější data a úhledně zobrazí výsledek.
1.5 Proč zrovna R a ne třeba Python
Když se chcete pustit do datové analytiky a uděláte si rychlou rešerši, co byste se měli naučit, vypadne na vás R nebo Python. Tyhle dva jazyky se na data používají nejvíc a už dlouho spolu v popularitě soupeří.
Stručně řečeno, jsou mezi nimi tyto rozdíly:
- Python je z programátorského hlediska hezčí jazyk a programátorům sedne lépe. R je naopak vhodnější pro neprogramátory.
- Python je o něco lépe vybavený pro strojové učení, NLP (zpracování přirozeného jazyka), automatizaci a software v běžné produkci.
- R je naopak o něco lepší na interaktivní práci nebo ad hoc úlohy, ve kterých předem úplně nevíte, čeho přesně chcete dosáhnout.
- Python je univerzální jazyk a můžete si v něm naprogramovat třeba e-shop. To by v R asi nešlo, byť základní obsahové weby zvládne taky.
- R má (zatím) rozvinutější ekosystém knihoven. Google Analytics, Search Console, Google Drive nebo Google Sheets – nic není problém, to vše už je v R dávno vyřešené. Když jsem tohle psal (březen 2022), evidoval oficiální repozitář CRAN 18 910 eRkových balíčků snad na úplně všechno.