R je programovací jazyk vyvinutý speciálně pro statistiku, analýzu dat a vizualizace. Jeho syntax vychází z jazyků S a Scheme. Podobně jako Python je čitelný a vhodný pro začátečníky, ale není na Pythonu založený. R i Python jsou oba velmi oblíbené pro práci s daty, přičemž každý má své specifické výhody.
R disponuje rozsáhlým ekosystémem balíčků, které rozšiřují jeho funkce od základní statistiky až po strojové učení. Je to ideální nástroj pro výuku, psaní reportů a publikací, protože začátečníci mohou rychle vidět výsledky, jako jsou grafy, bez složitého programování.
Značka # (hash) slouží k „zakomentování“ řádku, což znamená, že program si takového řádku nevšímá. V RStudiu bývá tento text standardně zelený.
# Tento řádek se NEprovede
# getwd()
# Tento řádek se provede
getwd() # Zjistí aktuální pracovní prostor
#> [1] "C:/Users/Halada/R/uvod_do_jazyka_R"
Příkaz spouštíme označením řádku a stiskem Ctrl + Enter nebo kliknutím na tlačítko Run. Pro časté ukládání skriptu používejte zkratku Ctrl + S. Pokud se v konzoli objeví znak +, R čeká na dokončení příkazu (např. chybí závorka); to lze napravit doplněním nebo stisknutím Esc.
Knihovnou (balíčkem) se rozumí soubor předem připravených funkcí.
Instalaci provádíme jen jednou, ale balíček musíme načíst pomocí
library() při každém spuštění skriptu.
# Instalace vybraných balíčků
install.packages("tidyverse") # základ pro moderní práci s daty
install.packages("here") # bezpečné cesty k souborům
install.packages("janitor") # čištění dat
install.packages("skimr") # rychlý přehled dat
# Načtení základních balíčků na začátku skriptu
library(tidyverse)
library(here)
Objekt v R obsahuje data a informaci, jak s nimi pracovat. Příkladem
jsou čísla, vektory, tabulky (data.frame) nebo modely.
Objekty pojmenováváme bez diakritiky a dbáme na velikost písmen, protože
R je case-sensitive. Přiřazování se provádí operátorem
<- (Alt + -).
knedlik <- 4
svickova <- 1
talir <- knedlik + svickova # Výsledek je 5
talir <- talir + svickova + knedlik # Výsledek je 10
talir
#> [1] 10
Nativní pipe |> (od verze R 4.1+) umožňuje psát
čitelný kód jako posloupnost kroků. V R má každý objekt svou třídu a
funkce jako summary() se chovají podle této třídy.
# Ukázka vytvoření tabulky a lineárního modelu
auta <- data.frame(
model = c("Škoda Octavia", "VW Golf", "BMW 3"),
cena = c(850000, 720000, 1450000),
spotreba = c(6.2, 5.8, 7.1)
)
summary(auta) # Statistický přehled tabulky
#> model cena spotreba
#> Length:3 Min. : 720000 Min. :5.800
#> Class :character 1st Qu.: 785000 1st Qu.:6.000
#> Mode :character Median : 850000 Median :6.200
#> Mean :1006667 Mean :6.367
#> 3rd Qu.:1150000 3rd Qu.:6.650
#> Max. :1450000 Max. :7.100
model <- lm(spotreba ~ cena, data = auta) # Lineární model
summary(model) # Statistiky modelu
#>
#> Call:
#> lm(formula = spotreba ~ cena, data = auta)
#>
#> Residuals:
#> 1 2 3
#> 0.09869 -0.08112 -0.01758
#>
#> Coefficients:
#> Estimate Std. Error t value Pr(>|t|)
#> (Intercept) 4.662e+00 2.472e-01 18.857 0.0337 *
#> cena 1.694e-06 2.342e-07 7.233 0.0875 .
#> ---
#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#>
#> Residual standard error: 0.129 on 1 degrees of freedom
#> Multiple R-squared: 0.9812, Adjusted R-squared: 0.9625
#> F-statistic: 52.32 on 1 and 1 DF, p-value: 0.08746