Obsah
Jazyk R
R (programovací jazyk) pro zpracování dat, který umí:
- načíst data v jakémkoliv formátu (Excel, txt, web),
- úpravy, zpracování, výpočty, statistika, strojové učení;
- výstupy: grafy, tabulky, webové aplikace, dokumenty — 👁 Ukázky. Nebo 👁 ještě více grafů.
Jak jak (nainstalovat a) spustit
- Je nainstalován na (některých) počítačích v učebně A202: jak vlastní R, tak RStudio (IDE). ⚠️ Pozor, spusťte RStudio:
Plocha/RStudio/rstudio.exe
.
Začínáme!
# Do komentářů je možno napsat cokoliv: # Поняатно? ⚠️ ⤷ 🚧 💾 ✂️ 🚦 🎬 📈 ▶️
# graf funkce sinus (od -π do 2π) plot(sin, -pi, 2*pi) # náhodná čísla podle normálního rozdělení rnorm(400) hist(rnorm(400)) # histogram
🐭 Zkopírujte kód (text) a vložte jej do skriptu. Skript vytvoříte v RStudiu: (File → New File → R Script).
💡 Spuštění příkazu na řádce, kde máte kurzor (můžete tak postupně „projet“ celý skript):
- pomocí tlačítka Run či
- klávesové zkraty Ctrl+Enter.
¿? Nápověda: Textový kurzor do názvu funkce → F1
demo(graphics) # sada příkladů demo(persp) # ⤷ mačkejte Enter v konzoli
# Kalkulačka 3+5*12 5^3 # mocnina 5³; taktéž 5**3 sqrt(4) # odmocnina (square root) sin(pi/4)
sqrt(sin(pi/4)) # Nebo raději uložíme mezivýsledek # do proměnné: vnitrek <- sin(pi/4) # … a pak proměnnou využijeme: sqrt(vnitrek)
❔ Záleží na mezerách či nových řádcích (Enter)?
Pomocí ChatGPT
V jazyce R udělej graf českých olympijských medailí.
🐭
Jeden z kódů v jazyce , který mi vygeneroval ChatGPT:
# Data for Czech gold medals in the last three Olympic Games medals <- c(2, 1, 4) years <- c("Rio 2016", "Pyeongchang 2018", "Tokyo 2021") # Create a bar chart of gold medals barplot(medals, main = "Czech Gold Medals in Last Three Olympics", xlab = "Year and Host City", ylab = "Number of Gold Medals", names.arg = years, col = "steelblue", border = NA)
🐭 Požádejte ChatGPT, ať vám vytvoří graf. (Musí vám dodat i data.)
Některé funkce jsou dostupné v balíčcích (package, library), které se načítají pomocí funkce library(jméno_balíčku)
.1)
- ChatGPT je jazykový model, a tak programovacím jazykům rozumí skvěle. Proč zadávat Googlu obecné dotazy, když je možné se zeptat Chatu GPT přímo?
- Alternativa k ChatGPT: Google Gemini
- RTutor – specializovaná webová aplikace pro generování kódu v R pomocí AI, která obsahuje pěkné uživatelské rozhraní a příklady dat i kódu.
- ChatGPT přímo v RStudiu: mlverse/chattr
💡 Obdobný graf (avšak se spolehlivými daty) snáze a elegantněji vytvoří WolframAlpha.
Smyslem těchto ukázek bylo demonstrovat snadnost použití programovacího jazyka, nikoliv jeho všechny možnosti. Výhodou programovacího jazyka (na rozdíl od GUI) je, že v něm můžete „naprogramovat cokoliv“.
Co jsme již dělali v Excelu
library(readr) # Načíst knihovnu funkcí. osoby <- read.csv("https://dataearth.cz/lib/exe/fetch.php/it/ra/osoby.csv", fileEncoding="UTF-8-BOM") # Histogram jen z jednoho sloupečku hist(osoby$vek) # Základní statistika summary(osoby$vek) # Všechno dohromady mean(osoby$vek) # Nebo jednotlivě max(osoby$vek) min(osoby$vek) # Nejmenší a největší hodnoty serazeno <- osoby[order(osoby$vek), ] # Složitější už to nebude ;-) head(serazeno) tail(serazeno) # Takto zobrazíme veliké množství bodů. smoothScatter(osoby) # Jen 1000, protože 47 tisíc řádků je příliš # mnoho pro vykreslení všech bodů několikrát. osoby_1000 <- head(osoby, n = 1000) plot(osoby_1000) # Kategorická veličina (histogram není možné sestavit) table(osoby$pohlavi) barplot(table(osoby$pohlavi)) # Časový průběh vyskyty <- table(osoby$datum) plot(vyskyty) plot.ts(vyskyty) # 🚨 nezkoušel jsem to 𝒦𝒩
🐭 Složitější: Join, agregace podle krajů a pohlaví, denormalizace (kontingenční tabulka), ggplot2, ggsave()
S prvotním načtením dat vám pomůže RStudio:
R pro obrazová data, radiologii a zdravotnictví
- Introduction to Image Processing in R (magick package) – obrazová data, ale nikoliv pro radiologii
- Snadno vytvořte webovou aplikaci v Shiny — příklad pro medicínu: Clinical Management Dashboard for a hospital
- eHealth a R (Root.cz)
- 🐭 Zdravotnická data Libereckého kraje – stáhněte CSV a pohrajte si v
Jak dál
- NOVÁKOVÁ, Kateřina a Petr VESELÝ, 2021. Jazyk R a tvorba grafů. Praha: Grada Publishing. Půjčte si v Univerzitní knihovně.
- 💡 Kdo to s programováním myslí vážně, ať použije jazyk Python.