# ____________________________________________________________________________ # Uvedení do R #### # * Klávesové zkratky ---------------------------- # Psaní speciálních znaků na české klávesnici skrze pravý alt: # RAlt + x = # # RAlt + F = [] # RAlt + B = {} # RAlt + , = < # RAlt + .= > # RAlt + ů = $ # RAlt + C = & # RAlt + š, poté jakýkoli znak = ^ # RAlt + ý, poté jakýkoli znak = `` (zpětný apostrof) ### Modifikovatelné klávesové zkratky RStudia # Alt + Shift + K pro seznam klávesových zkratek RStudia # Alt + - vloží assigment operátor <- pro tvorbu objektů # Ctrl + Enter pro spuštění aktuálního kódu na označeném řádku # Ctrl + Alt + P znovu spustí kód, který byl spuštěn naposledy # Ctrl + Alt + R spustí všechen kód # Alt + L zabalí aktuální blok kód # Alt + Shift + L rozbalí aktuální blok kód # Alt + O zabalí všechen kód # Alt + Shift + 0 rozbalí všechen kód # Ctrl + Shift + R vloží nový nadpis # Ctrl + Shift + M vloží pipe operátor %>% # * Základní operace ------------------------------------------- # Matematické operace # Sčítání 5 + 5 # Odčítání 5 - 5 # Násobení 3 * 5 # Dělení (5 + 5) / 2 # Umocňování 2^5 # Odmocňování sqrt(9) 9^(1/2) # Celočíselné dělení 16 %/% 6 # Zbytek po celočíselném dělení 16 %% 6 # Tvorba objektů # K tvorbě nových objektů se používá assignment operátor <-: # název_objektu <- jeho_hodnoty x <- 3 * 4 # sloučit více hodnot dohromady do jednoho objektu (vektoru) lze pomocí # funkce c() primes <- c(2, 3, 5, 7, 11, 13) primes # na vektor lze uplatnit různé operace, např. matematické primes * 2 # každý prvek je vynásoben číslem dva primes - 1 # od každého prvku je odečtena 1 # * Komentáře ------------------------------------------------------------- # Komentáře vkládáme pomocí hashtagu # # Cokoli napravo od hashtagu tedy nebude R považovat za spustitelný kód # Speciálním typem komentáře je nadpis, který můžeme vložit pomocí # CTRL + Shift + R nebo doplněním --- # vytvoř vektor prvočísel primes <- c(2, 3, 5, 7, 11, 13) # vynásob prvočísla dvěma primes * 2 # * Pojmenování objektů ----------------------------------------------------- # Názvy objektů musejí začínat písmenem a smějí obsahovat pouze # písmena, čísla, podtržítka (_) a tečky (.) # doporučuji používat tzv. snake case pro tvorbu delších jmen objektů i_use_snake_case otherPeopleUseCamelCase some.people.dot.case And_aFew.People_RENOUNCEconvention # vyvolat objekt do konzole lze jednoduše napsáním jeho jména x r_rocks <- 2^3 r_rocks # jméno objektu musí být napsáno přesně, jinak vám to objekt nenajde r_rock # zde chybí na konci "s" R_rocks # R rozlišuje malá a velká písmena # * Používání funkcí --------------------------------------------------------- # R obsahuje velké množství funkcí # K jejich vyvolání stačí znát název funkce a její argumenty # function_name(argument1 = value1, argument2 = value2, ...) # nápovědu k funkci seq() získáme takto help(seq) ?seq # zkuste pomocí funkce seq() vygenerovat řadu celých čísel od 1 do 10 seq() seq(from = 1, to = 10, by = 2) # ____________________________________________________________________________ # Základy vizualizace dat #### # install.packages("palmerpenguins") # install.packages("ggthemes") # install.packages("tidyverse") library(tidyverse) library(palmerpenguins) library(ggthemes) penguins glimpse(penguins) ?penguins # Našim cílem bude vytvořit scatterplot ukazující vztah mezi # délkou ploutví (na ose X) a tělesnou hmotností (na ose Y) tučňáků # Body grafu bychom pak měli rozlišit podle druhu tučňáka # a to jak pomocí barvy, tak pomocí tvaru bodů # a také znázornit lineární trend pro všechna data # Prvním krokem je volba datasetu pomocí argumentu data ggplot(data = penguins) # Poté musíme určit, jaké proměnné z datasetu chceme mít na ose X a Y # a to pomocí argumentu mapping a funkce aes() ggplot(data = penguins, mapping = aes(x = flipper_length_mm, y = body_mass_g)) # Dále musíme určit jakým typem graf (geomu) chceme použít # neboli jaký geometrický objekt má vyjádřit jednotlivá pozorování # K tomu slouží různé funkce začínající slovem geom_ ggplot(data = penguins, mapping = aes(x = flipper_length_mm, y = body_mass_g)) + geom_point() # všimněte si chybového hlášení # Nyní chceme doplnit informace o druhu tučnáka a vyjádřit jej barvou bodů # Je např. možné, že se vztah mezi délkou ploutví a tělesnou hmotností liší # právě podle druhu tučnáka # Takže proměnnou species "mapujeme" na barvu ggplot(data = penguins, mapping = aes(x = flipper_length_mm, y = body_mass_g, color = species)) + geom_point() # Regresní křivku pak doplníme jako nový geom pomocí funkce geom_smooth ggplot(data = penguins, mapping = aes(x = flipper_length_mm, y = body_mass_g, color = species)) + geom_point() + geom_smooth() # Defaultně ggplot použije neparametrickou regresi (loess křivku) # nepředpokládající lineární vztah # My ale chceme použít lineární model ggplot(data = penguins, mapping = aes(x = flipper_length_mm, y = body_mass_g, color = species)) + geom_point() + geom_smooth(method = "lm") # Vykreslilo nám to regresní přímky pro jednotlivé druhy zvlášť, # ale my chceme jednu přímku pro celý soubor dohromady # Musíme proto mapování species na barvu provést jen v rámci geom_point() ggplot(data = penguins, mapping = aes(x = flipper_length_mm, y = body_mass_g)) + geom_point(mapping = aes(color = species)) + geom_smooth(method = "lm") # Protože někdo může být barvoslepý, můžeme druh vyjádřit nejen pomocí barvy # bodů, ale také pomocí jejich tvaru ggplot(data = penguins, mapping = aes(x = flipper_length_mm, y = body_mass_g)) + geom_point(mapping = aes(color = species, shape = species)) + geom_smooth(method = "lm") # Aby byly tvary bodů lépe rozlišitelné, zvětšíme jejich velikost pomocí # argumentu size ggplot(data = penguins, mapping = aes(x = flipper_length_mm, y = body_mass_g)) + geom_point(mapping = aes(color = species, shape = species), size = 3) + geom_smooth(method = "lm") # Můžeme také vybrat jinou paletu barev, která bude více color-blind-friendly # pomocí funkce scale_color_colorblind() z balíčku ggthemes ggplot(data = penguins, mapping = aes(x = flipper_length_mm, y = body_mass_g)) + geom_point(mapping = aes(color = species, shape = species), size = 3) + geom_smooth(method = "lm") + scale_color_colorblind() # A nakonec doplníme ke grafu různé popisky pomocí funkce labs() ?labs ggplot(data = penguins, mapping = aes(x = flipper_length_mm, y = body_mass_g)) + geom_point(mapping = aes(color = species, shape = species), size = 3) + geom_smooth(method = "lm") + scale_color_colorblind() + labs(title = "Délka ploutví a váha tučňáků", x = "Délka ploutví (mm)", y = "Tělesná váha (g)", color = "Druh", shape = "Druh")