Zadávání hodnot a jednoduché výpočty

Odkaz na velice pěknou učebnici: http://www.nti.tul.cz/cz/images/7/7d/Navod_R_cesky.pdf

Vše, co na řádku následuje po znaku #, je komentář, který R ignoruje. Můžeme si tak zapisovat užitečné vysvětlující poznámky.

R funguje jako velmi chytrá kalkulačka. Pro násobení je znak *, / je na dělení.

3 + 4          # začněme něčím, na čem se shodneme
## [1] 7
-8 + 6         # záporná čísla zvládá s bravurou
## [1] -2
2 + 3 * 4      # ví, že násobení má přednost
## [1] 14
(2 + 3.5) / 2  # zná kulaté závorky
## [1] 2.75
sqrt(9)        # odmocnin se neobává
## [1] 3
0/0            # když nevyjde číslo, napíše bez jediného povzdechu NaN (not a number)
## [1] NaN
2/0            # nekonečna se nezalekne
## [1] Inf
sin(pi/2)      # a umí spoustu věcí, které ani nevyužijeme
## [1] 1

Vektory

Hodnoty stejného typu lze ukládat do vektorů pomocí spojovací funkce c() z anglického concatenate.

c(4, 1, 1, 5, 3)       # Několik hodů kostkou
## [1] 4 1 1 5 3

Vypočtené hodnoty, vektory apod. lze uložit pod nějaký název (tzv. proměnnou) pomocí <-, abychom je mohli dále někdy použít.

teploty <- c(3.2, 4.8, 0.2, -1.5)   # Průměrné teploty v posledních dnech
spokojenostObed <- c(TRUE, TRUE, FALSE, TRUE)   # Logické hodnoty označující, zda návštěvníkům menzy chutnalo.
pohlavi <- c("muž", "muž", "žena", "muž", "žena")  # Pohlaví respondentů dotazníku

Pozor! Desetinná čísla se zapisují vždy s desetinnou tečkou, nikoliv čárkou.

Příkaz přiřazení do proměnné se provede, ovšem výsledek se automaticky nezobrazí (ale jméno proměnné se objeví v okně Environment vpravo nahoře).

Pro zobrazení obsahu proměnné stačí napsat její název samostatně nebo použít funkci **print(jmenoPromenne)**.
teploty
## [1]  3.2  4.8  0.2 -1.5
print(spokojenostObed)
## [1]  TRUE  TRUE FALSE  TRUE

Jednoduché výpočty

length(teploty)   # počet hodnot ve vektoru
## [1] 4
sum(teploty)      # součet hodnot
## [1] 6.7
mean(teploty)     # průměrná hodnota
## [1] 1.675
sum(teploty)/length(teploty)  # je ten průměr správně? zdá se, že ano
## [1] 1.675
median(teploty)   # medián
## [1] 1.7
sd(teploty)       # výběrová směrodatná odchylka
## [1] 2.84883
var(teploty)      # výběrový rozptyl
## [1] 8.115833

Tip (klávesové zkratky)

Pokud chceme zopakovat příkaz z historie, a nechceme ho celý znovu vypisovat, stačí v příkazové řádce stisknout **kurzorovou šipku nahoru**.

Pokud máme delší název proměnné nebo funkce, stačí napsat několik prvních znaků a stisknout tabulátor a RStudio nám začne název napovídat (pro dokončení pak stačí stisknout ENTER). Např. začnu psát spo TAB a samo se dokončí na spokojenostObed.

Nápověda

Chceme-li se dozvědět o konkrétní funkci více, můžeme vyvolat nápovědu zápisem ?nazevFunkce.

?mean

Nápověda vyskočí v okénku vpravo dole, které můžeme zvětšit do samostatného okna tlačítkem na liště.

Nápovědu k operátorům a příkazům vyvoláme obdobně, jen je musíme zapsat do apostrofů.
?'for'
?':'

Skvělou nápovědou je samozřejmě internet. Když dáte do vyhledávače svůj problém ve stylu R calculate average value, většinou rychle najdete řešení.

Úlohy

  1. Vytvořte proměnnou cisla obsahující vektor čísel 1, 2, -3.9 a 5.
  2. Pro cisla
    • zjistěte automaticky počet hodnot (mělo by být 4)
    • vypočtěte součet všech prvků (4.1)
    • určete průměr (1.025)
    • nalezněte medián (1.5)
    • stanovte výběrovou směrodatnou odchylku (zhruba 3.697)
    • spočítejte výběrový rozptyl (cca 13.669)
    • ověřte funkcí sqrt(), že odmocnina z rozptylu vyjde stejně jako směrodatná odchylka
  3. Vytvořte proměnnou jidla obsahující názvy tří vašich oblíbených jídel.
  4. Vytvořte proměnnou skola obsahující sedm logických hodnot TRUE/FALSE odpovídajících jednotlivým dnům v týdnu, které udávají, zda v ten den musíte dle rozvrhu do školy, či ne.
  5. Vypište postupně obsah proměnných cisla, jidla, skola.

© 6. 3. 2015 Tomáš Bořil, borilt@gmail.com