Cieľom prvého cvičenia je naučiť sa programovať jednoduché skripty v jazyku R.
Skripty budeme vytvárať v Open Source programe RStudio.RStudio je integrované vývojové prostredie (IDE) pre R. Zahŕňa konzolu, editor zvýrazňujúci syntax, ktorý podporuje priame vykonávanie kódu, ako aj nástroje na vykreslenie, históriu, ladenie a správu pracovného priestoru. Vytvorený zdrojový kód bude mať príponu .R.
Pre vytvorenie nového skriptu stlačte File -> New File -> R script, alebo jednoducho kliknite na zelené + a vyberte prvú možnosť R script.
Pre spustenie príkazu nastavte kurzor na daný riadok a stlačte klávesy Ctrl + Enter alebo tlačidlo Run na lište vytvoreného scriptu
Pre vlastné skripty si vytvorte v adresári /home/student/ adresár s vaším priezviskom a všetky svoje súbory ukladajte tam.
Postupujte podľa nasledujúcich krokov:
getwd()
dostanete aktuálnu cestu.
setwd("/home/student/")
alebo použitím absolútnej cesty
setwd("C:\\...")
.
file.exists("MojePriezvisko")
overíte existenciu priečinka.
dir.create("MojePriezvisko")
.
list.files()
a list.dirs()
môžete v s úboroch a adresároch.
Nové objekty môžeme vytvoriť a vypísať dvoma spôsobmi, je len na vás ktorí budete používať.
Najčastejšie sa používajúce vektorové operácie:
Podmienky | Popis |
---|---|
<- alebo = |
priradenie |
a == b |
rovná sa |
a != b |
nerovná sa |
a < b |
je menšie ako |
a > b |
je vačsie ako |
a <= b |
je menšie rovné ako |
a >= b |
je väčšie rovné ako |
is.na() |
testuje, či ide o chýbajúcu hodnotu NA (Not Available) |
is.nan() |
testuje, či ide o NaN (Not A Number) t. j. o nedefinované (matematické) výsledky operácií |
is.null() |
testuje, či objekt je NULL |
Matematické operácie | Popis |
---|---|
a+b , a-b ,a*b ,a/b |
základné matematické operácie |
sum(x) |
Suma |
min(x) |
Najmenšia hodnota |
max(x) |
Najväčšia hodnota |
mean(x) |
Priemer |
median(x) |
Stredná hodnota |
mode(x) |
Najčastejšie sa vyskytujúca hodnota |
log(x) |
Prirodzený logaritmus |
exp(x) |
Exponencialna funkcia |
sqrt(x) |
Druhá odmocnina |
abs(x) |
Absolútna hodnota |
ceiling(x) |
Zaokrúhli nahor na celé čislo |
floor(x)/trunc(x) |
Zaokrúhli nadol na celé čislo |
round(x,digits = 5) |
Zaokrúhli na 5 desatiných miest |
čislo %% 2 == 0 |
Zvyšok po delení dvoma je nula, t.j. čislo je deliteľné dvoma |
rnorm() |
Náhodné normálne rozdelenie |
runif() |
Náhodné rovnomerné rozdelenie |
V prvej časti sa pozrieme akými spôsobmi sa dajú vektory vytvoriť. V druhej časti budeme pristupovať k jednotlivým elementom vektora podľa pozície a hodnoty, ktorú chceme vrátiť.
Poznáme niekoľko základných dátových typov a to: znaky (character), logické hodnoty (logical), numerické hodnoty (numeric), celočíselné hodnoty (integer), komplexné čísla (complex) a špeciálny dátový typ faktor (factor). Faktor sa používa na reprezentáciu kategorických dát. Niektoré algoritmy si vyžadujú zmenu dátového typu, preto si spôsob ako "pretypovať" nápriklad vektor hodnôt.
Matice sú objekty typu vector s definovanými dimenziami. Existuje niekoľko spoôsobov ako vytvoriť maticu:
Všimnte si ako sú matice konštruované!
Zoznam je opäť špecialný objekt typu vector, avšak môže obsahovať rôzne dátové typy a objekty (napríklad znaky, čisla, logické hodnoty ale aj vnorený zoznam či vektor)
data.matrix()
môžete kovertovať data na maticu.
V nasledujúcom skripte si ukážeme základné operácie s dátovými rámcami (prístup k podmnožinám, podmienený výber riadkov, nahrádzanie jednotlivých hodnôt, usporiadanie, pridávanie nových slĺpcov).
Ďalej budeme k dátovým rámcom pristupovať cez knižnicu dplyr
. Tejto knižnici bude venované cvičenie 3.
Testovacia podmianka:
Cyklus s fixným počtom opkovaní:
Cyklus, ktorý sa opakuje, pokiaľ je platná podmienka:
repeat |
spúšťa nekonečný cyklus, ako while , bez podmienky |
break |
ukončuje beh nekonečného cyklu |
next |
preskočí iteráciu v cykle |
return |
výstup funkcie |