Linux E X P R E S

Facebook

Matematický software R: S ním je každá statistika hezčí

Rlogo.jpg

R je matematický software specializovaný na statistiku. Jde o open-source implementaci jazyka S, který používají profesionální statistické programy. Pokud vám stačí spočítat si pár čísel, tak se většinou spokojíte s tabulkovým procesorem, jako je Calc nebo Excel. Musíte-li ale zpracovat spoustu dat, tak se budete muset poohlédnout po něčem jiném - a zde se může hodit právě R.


R můžete, s velkou pravděpodobností, najít v repozitářích své linuxové distribuce. Ve Fedoře můžete instalovat pomocí yum a v Ubuntu pak sudo aptitude install r-base r-base-dev. R se spouští z terminálu pomocí příkazu R (pozor, rozlišují se velká a malá písmena). Chcete-li používat GUI, pak prosím použijte následující postup:

  • Nainstalujte balíček r-cran-rcmdr.
  • Spusťte R (v terminálu pomocí příkazu R) a napište library(Rcmdr), čímž vyvoláte grafické rozhraní pro R. V případě, že by některé softwarové balíky nebyly nainstalovány, tak se vás R zeptá, jestli je má stáhnout a nainstalovat. Stačí tedy potvrdit že ano, vybrat, odkud se stáhnou, a vše by mělo proběhnout bez problémů.

Klikací rozhraní, tedy GUIKlikací rozhraní, tedy GUI

Jak jsem již psal, R je program specializovaný na statistiku, nicméně můžete jej, jako Matlab, používat i na maticové výpočty. My se ale budeme věnovat statistice. R umí testování hypotéz, výpočet analýzy rozptylu (ANOVA), Weibullovo, Studentovo a další rozdělení, můžete si samozřejmě psát i své vlastní skripty. Skripty můžete načítat z místního disku a nebo třeba přes FTP. Můžete vykreslovat 2D i 3D grafy, dávat jim popisky, měnit barvy, atd.

3D Graf3D Graf

Abyste si R trochu vyzkoušeli, tak si napíšeme pár velmi jednoduchých příkazů. Následující příklady jsou pro R spuštěné v terminálu bez grafického rozhraní, stačí tedy příkazy jen opisovat. Chcete-li použít grafické rozhraní, doporučuji, abyste se s ním nejdříve naučili pracovat, například z tohoto anglického návodu. Pro jednoduchost a rychlost doporučuji grafické rozhraní úplně přeskočit. Navíc jej k využití plného potenciálu programu nepotřebujete.

x <- c(1,2,2,2,2,5,6,6,6,7,9) # vytvoří vektor s názvem x
summary(x)

Výpis bude vypadat asi takto:

> summary(x)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
  1.000   2.000   5.000   4.364   6.000   9.000

Kde Min. je nejnižší číslo, 1st Qu. je dolní kvartil, Median je medián, Mean je průměr, 3rd Qu. je horní kvartil a Max. je nejvyšší číslo. Samozřejmě si můžete jednotlivé příkazy vyvolat zvlášť, například mean(x) spočítá aritmetický průměr.

Grafy

hist(x) # vykreslí histogram

HistogramHistogram

boxplot(x,main='Příklad pro Linuxexpres') # kromě vykreslení krabicového
grafu změní i nadpis

Graf s popiskemGraf s popiskem

Zkuste třeba ještě stripchart(x), plot(x) a qqnorm(x).

x <- x*1000 # vynásobí vektor hodnotou tisíc
x # vypíše novou hodnotu x
x2 <- log(x) # spočítá přirozený logaritmus
x2 # vypíše výsledek
x+x2 # sečte vektory, můžete odečítat, dělit, násobit, atd...

Následující ukázka je z webu addictedtor.free.fr.

par(bg="cornsilk")
coplot(lat ~ long | depth, data=quakes, pch=21, bg="green3")

Složitější grafSložitější graf

Zde jsou dvě ukázky interaktivních grafů, které slouží k výuce. Studenti zde vidí, jak změna hodnot ovlivní výsledek. Napište dva následující příkazy, které spustí interaktivní graf. Budete-li měnit hodnoty, přímka se bude měnit také.

library(tcltk)
demo(tkcanvas)

Další ukázka:

library(tcltk)
demo(tkdensity)

Proč R? Proč statistika?

V práci používám statistiku poměrně často a R se mi hodí ze dvou důvodů. Tím prvním je, že dokáže pracovat s více daty než MS Excel, který je omezený 256 sloupci a 65 tisíci řádky. Možná se vám to zdá hodně, když ale budete zpracovávat data z produkce za poslední dva roky, tak tento počet lehce překročíte.

Druhým důvodem jsou pokročilé statistické funkce, jako již zmíněná ANOVA, Chi-square test a nebo bootstrapping. Možná se o těchto metodách budete učit ve škole a R vám pomůže se semestrální prací. Ne že by ji za vás R napsalo, ale minimálně vám může pomoci spočítat nejednu úlohu. R je na vysokých školách a ve vědeckých kruzích populární a využívá jej poměrně hodně univerzit po celém světě, nejvíce však asi v USA. U nás jsem se s R zatím příliš nesetkal, což je docela škoda, neboť tak chybí návody v češtině a taky by neškodilo, kdyby se tento velmi kvalitní software dostal více do povědomí studentů, kteří by jej pak mohli využívat ke studiu.

Pokud s R budete pracovat poprvé a nemáte zkušenosti s programy jako Matlab nebo Maple, tak pro vás práce může být z počátku obtížná. Software se přece jen ovládá příkazy a ne z menu. Zde se právě objevuje ona obtížnost, neboť abyste příkazy mohli psát, tak je musíte nejdříve znát. K překonání toho problému by vám mělo pomoci několik odkazů na různé návody v závěru článku. Předpokládejme, že už jste zkušenější uživatel a přečetli jste si nějaký ten návod a nebo jste se na střední škole potkali s Matlabem. V takovém případě je práce s R velmi jednoduchá a podobá se práci s ním.

R pracuje rychle a je stabilní. Za celou dobu, co software používám jsem nikdy nezažil pád programu. Příkazy se provádí okamžitě, jejich zápis je relativně jednoduchý a názvy dobře zapamatovatelné, vykreslování grafů je také velmi rychlé. Statistika programu R je na velmi dobré úrovni, ale nemusíte využívat jen statistiku. R můžete používat k maticovým počtům, vektorům, řešení rovnic a pod. Já osobně jsem R taky občas používal k tomu, abych si ověřil ruční výpočty, při učení se na písemky. R je program všestranný a i když se v jedné pohádce zpívá, že statistika nuda je, tak bychom přece jen měli mít na paměti, že má cenné údaje, a když tak R vyzkoušet a nějaké ty údaje si spočítat.

Diskuze (15) Nahoru