NMSA230 - Softwarové prostředky
pro matematiku a stochastiku

Zimný semester 2017/2018 | Cvičenie 2 | Po 23/10/17



II. Štatistický software R (štatistika a grafika)


Všeobecné informáie
  • Na cvičeni budeme pracovať s programom R (Team Development Core, 2016), ktorý je dostupný pod GNU GPL licenciou (free of charge) na nasledujúcej adrese https://www.r-project.org.
    K dispozícii sú distribúcie s priamou podporou pre OS Windows, Linux aj Macintosh.
  • Základnú inštaláciu programu R je možne rozšíriť o ďalšie dodatočné knižníce (packages), ktoré sú k dispozícii na rôznych online repozitároch (zoznam hlavných repozitárov je na adrese https://cran.r-project.org/mirrors.html. Na inštaláciu baličku v programe R slúži príkaz install.packages("***"), kde namiesto *** je potrebné uviesť správne meno príslušného balíčka.
  • Okrem samotného programu R a rozširujúcich knižníc sú k dispozícii aj rôzne užívateľské rozhrania (user interfaces) , ktoré je možne dodatočne nainštalovať a umožňujú (v určitých smeroch) jednoduchšiu a prehľadnejšiu prácu s Rkom. Najznámejší a pravdepodobne aj jeden z najlepších R interface je RStudio (defaultne nainštalované na každom počítači v tejto posluchárni).

Program druhého cvičenia NMSA 230
  • Oboznámenie sa so zkladnými funkciami a nástrojmi, ktoré su v programe R určené k vytváraniu rôznych grafických výstupov (grafy, boxploty, diagramy).
  • Práca s reálnymi datami: vytvorenie jednoduchých popisných štatistík, ich interpretácia a následne zobrazeie pomocou vhodných graficých výstupov.
  • Práca s niektorými komplexnejšími príkazmi, pomocou ktorých je možné vytvárať automatizované R skripty (napr. for, while, if, list.files(), which(), match(), a mnoho ďalších)
  • Podrobnejšieho “sprievodca” pre jednoduchú prácu s R programom: Hrátky s R (autor: doc. Arnošt Komárek).
    (k Hrátkam s R sú potrebné datove súbory: auta2004.dat, auta2004.csv a auta2004.xls)

Užitočné materiály pre prácu so štatistickým softwarom R
  • Bína, V., Komárek, A. a Komárková, L.: Jak na jazyk R. (PDF súbor)
  • Komárek, A.: Základy práce s R. (PDF súbor)
  • Kulich, M.: Velmi stručný úvod do R. (PDF súbor)
  • De Vries, A. a Meys, J.: R for Dummies. (ISBN-13: 978-1119055808)





1. Základné grafické nástroje v programe R

V programe R je k dispozícii veľký výber rôznych funkcii a príkazov určených k vytváraniu variabilných grafických výstupov. Dalšíe dodatočné príkazy a funkcie je možne získať pri rozšírení základnej nainštalovaním niektorých odatočných balíčkov (packages) - tie sú väčšinou špecificky zamerané na konkrétnu oblasť, balíček často poskytuje komplexnú sadu nástrojov na riešenie určitého špecifického problému.

Okrem toho je samozrejme možné vytvárať si vlastne príkazy a funkcie a defaultne grafické nástroje v Rku v mnohom zmeniť, vylepšiť a zdokonaliť.

Grafické funkcie v programe R možeme podľa spôsobu fungovania začleniť do troch základných kategórii:

  1. Funkcie, ktoré vytvárajú nové grafické rozhranie
    Pri volaní ktorejkoľvek fukcie z tejto kategórie automaticky dôjde k vytvoreniu nového grafického okna (graph window) v ktorom sa vykresli samotný výsledný obrázok(graf). Toto okno je ponechané ako aktívne a pomocou ďalších funkcii z druhej skupiny (viď nižšie) je možné dopĺňať ďalšie objekty do již existujúceho obrázku, prípadne meniť rôzne nastavenia a vlastnosti.

    Základné príkazy (napr.): plot(), dotchart(), hist(), barplot(), pie(), boxplot(), pairs(), atď.;

  2. Funkcie, ktoré dopĺňajú již vytvorený graf
    Do druhej kategórie patria funkcie a príkazy, ktoré fungujú len v prípade, že bol pred ich použitím zavolaný niektorá funkcia z prvej kategórie a vytvorené okno je stále aktívne. Pomocou príkazov a funkcii z tejto kategórie je možné dopĺňať ďalšie (často netriviálne) objekty do již existujúceho grafu (grafického okna - graph window).

    Základné príkazy (napr.): points(), lines(), abline(), text(), legend(), atď.;

  3. Funkcie určené na manipuláciu s grafmi
    Do tejto kategórie patria funkcie a príkazy, ktoré primárne nie su schopné vytvárať obrázok, ani dopĺňať objekty do již existujúceho obrázku, ale služia na jednoduchú manipuláciu s vytvorenými grafickými oknami (napr. uloženie obr., vytvorenie niekoľkýh grafov v jednom okne, vytvorenie nového okna, a pod.)

    Základné príkazy (napr.): dev.new(), X11(), dev.off(), postscript(), pdf(), png(), par(), layout(), atď.;

Pomocou R helpu zistite, k čomu jednotlivé príkazy a funkcie slúžia, ako sú implementované, aké dodatočné parametre je možné pri volaní funkcie využiť a každú z uvedených funkcii použijte aspoň v jednom grafe, ktorý samostatne vytvoríte.

Niekoľko názorných príkladov, ktoré využívajú niektoré z uvedených funkcii, sú uvedené nižšie. Všimnite si aj úlohu dodatočných parametrov, ktoré sa pri volaní konkrétnej funkcie spomínaju.


Príklad 1 | datový súbor ‘mtcars’

Datový súbor ‘mtcars’, ktorý je štandardne k dispozícii v klasickej inštalácii programu R obsahuje údaje o 32 rôznych automobiloch predávaných v USA (typ auta, motoru, spotreba, atď.).

x <- mtcars[order(mtcars$mpg),] # sort by mpg
x$cyl <- factor(x$cyl) # it must be a factor
x$color[x$cyl==4] <- "red"
x$color[x$cyl==6] <- "blue"
x$color[x$cyl==8] <- "darkgreen"  
dotchart(x$mpg,labels=row.names(x),cex=.7,groups= x$cyl,
    main="Gas Milage for Car Models\ngrouped by cylinder",
   xlab="Miles Per Gallon", gcolor="black", color=x$color)

Alternatívný náhľad dostaneme prostredníctvom matice scatterplotov, pomocou príkazu pairs():

pairs(mtcars[,c(1,3,4,6)], col=mtcars$cyl, pch = mtcars$am)

Sofistikovanejšie verzie aj s odhadom hustoty a regresnej závislosti možeme konštruovať pomocou knižnice library(car) príkazom scatterplot.matrix():

library(car)
scatterplot.matrix(~mpg+disp+drat+wt|cyl, data=mtcars,  main="")