Soubory pro R

Na to, abychom mohli pracovat v R, nepotřebujeme umět programovat, ale musíme být schopni s ním pracovat. Prostředí RStudio, je stejně jako R zadarmo a je určeno pro usnadnění práce, kterou po prvním nutném seznámení zvládne každý. My jsme se zde pokusili představit základy práce s R představit v 11 lekcích, na něž navazují nejrůznější rozšíření, která Vaši předchůdci potřebovali při práci na BP a DP.

ver. 201216

Základní externí informační zdroje

On-line učebních materiálů, které jsou vynikajícím způsobem připraveny, je hodně a z nich pro Vás vybíráme následující:

Instalace

  • nejprve musíte stáhnout a nainstalovat R, kompletní přehled možností je zde
    • aktuální verze R pro Windows7-10 (září 2020) je zde (odkaz vede přímo na instalační soubor)
  • pak si musíte stáhnout a nainstalovat R Studio, kompletní přehled možností je zde
    • aktuální verze R Studia pro Windows7-10 (září 2020) je zde (odkaz vede přímo na instalační soubor)
  • výše uvedené odkazy vedou na nejaktuálnější (v září 2020) verze, ve škole na počítačích jsou však verze ze září 2018, proto ani některé věci budou jinak ve škole a doma, s tím ale nejsme schopni nic udělat 🙂
  • případný problém s instalací packages je způsoben diakritikou v názvu účtu v Users
    • Problém jsem našel v tom, že instalaci packages provádí R Studio do adresářové struktury R/win-library/3.5, kterou vytváří sám ve složce Dokumenty, jež je pod složkou Users, mno a pokud se účet jmenuje třeba”uživatel”, tak si R Studio, jelikož v tomto případě nezná diakritiku, do adresářové struktury píše místo “ž” otazník a pak logicky není schopen tuto cestu najít, protože hledá v Users složku “u?ivatel”, která tam není, bo je tam “uživatel”. Pokud k tomu dojde, tak je třeba ručně zadat celou strukturu R/win-library/3.5 do Dokumentů v Průzkumníkovi nebo File Manageru, pak je třeba v R Studiu spustit instalaci prvního package oklikou přes Import Dataset – From Excel, který instaluje package automaticky a už sám vidí námi vytvořenou cestu – ten nainstaluje package readxl, mno a teprve pak už lze instalovat klasicky přes Packages-Install, protože software už ví, kde struktura adresářů R/win-library/3.5 je, a už je schopen do ní ukládat.
  • R je freeware běžící na nejrůznějších systémech a skripty se mezi nimi dají tahat, ale přišli jsme na to, že například mezi Macy a W10 dochází k drobným odchylkám, které jsme ale rychle vyladili, tak to snad bude OK i nadále
  • do setwd vkládejte na školních počítačích “C:/Users/ucebna/Documents/R”
  • v našich materiálech je cesta “C:/Users/uživatel/Documents/R”, protože tak to bylo v roce 2018 a pro rok 2019 účet přejmenovali
  • cesta k souborům na flešce vy měla být “E:/R/nazevsouboru.xlsx, pokud je máte na počítači, pak je dávejte do R v Dokumenty, takže cesta bude “C:/Users/ucebna/Documents/R/nazevsouboru.xlsx

Klávesové zkratky

R používá několik speciálních symbolů, jejichž klávesové zkratky je dobré znát nazpaměť:

  • CTRL + Enter: vykonávání příkazů ze zdrojového souboru skriptu do Console
  • Alt + 35: symbol dvojitého křížku pro vkládání poznámek ve skriptu
  • Alt + “dolní podtržítko”: vytvoření symbolu pro definování objektů, tedy “šipka”
  • Alt + 36: symbol dolaru pro výběry sloupců v datových tabulkách
  • Alt + 34: uvozovky
  • Alt + 126: vlnovka pro výběr skupin v proměnné

Video 1 – Studijní materiály

Video 2 – Spuštění programu

Video 3 – Základy ovládání

 

1. Lekce: Funkcionalita

Funkcionalitu si nejlépe ukážeme na konkrétním případě, kterým bude úkol na sestrojení box-plotu z dat uložených v MS Excel.

Data – zde

R soubor – zde

Video 4 – Instalace “package”, import dat, vytvoření objektu

Video 5 – Funkcionalita na příkladu krabicového grafu

Video 6 – Přehled funkcionality- dokončení

Video 9 – Export grafů

Co jsme se naučili:

  • otevřít a program a ukončit práci programu
  • poznali jsme aktivaci knihovny
  • uložení objektu
  • práce s nápovědou
  • práce s funkcemi
  • zadávání atributů a jejich funkčnost

Poznané funkce:

  • setwd() – nastavuje pracovní adresář
  • library() – aktivuje package
  • read_excel() – s cestou načte soubor s koncovkou XLS a XLSX
  • class() – identifikuje typ objektu
  • boxplot() – vytvoří z daného souboru box-plot podle nastavených atributů
  • help() – vypíše nápovědu k zadané funkci
  • c() – funkce pro definování vektorů
  • bxp() – funkce pro úpravu grafiky uloženého objektu z výstupu funkce boxplot()
  • (boxplot()) – vypíše číselné údaje z funkce boxplot()

Samostatná páce pro zopakování:

  • V postu Data si stáhněte XLS tabulku označenou jako “Pohlaví/(délka, výška, šířka)”, v MS Excel si rozdělte data podle pohlaví (1= samci, 2= samice), v R vytvořte boxploty srovnávající variabilitu samců a samic postupně podle délky, výšky a šířky.

2. Lekce: Práce s vektory

V této části se naučíme pracovat se základními objekty, kterými jsou vektory a od nich odvozené faktory (= kategoriálními vektory)

Data – budeme si je postupně sami tvořit v R

R soubor – zde

Video 7 – Kompletní 2. lekce

Co jsme se naučili:

  • operátory a v rámci nich používat R jako kalkulačku
  • definování vektoru
  • spojování vektorů
  • mazání objektů
  • pojmenovávání prvků objektů
  • postup výběru prvků (jednoduché hranaté závorky)
  • funkce pro charakteristiky polohy a variability
  • že funkce lze kombinovat

Poznané funkce:

  • rm() – zmaže zadaný objekt
  • names() – pojmenovává prvky objektů (v pořadí prvků)
  • lenght() – vrací dálku vektoru
  • mean() – aritmetický průměr z číselného vektoru
  • median() – medián číselného vektoru
  • min() – minimální hodnota z číselného vektoru
  • max() – maximální hodnota z číselného vektoru
  • quantile() – kvantily z číselného vektoru
  • sd() – směrodatná odchylka z číselného vektoru
  • var() – rozptyl z číselného vektoru
  • sqrt() – druhá odmocnina z čísla

Samostatná páce pro zopakování:

  • V postu Data si stáhněte XLS tabulku označenou jako “Podzemní voda na rašeliništích”. Použijte One-way ANOVA a Kruskal-Wallisův test k testování
  • V postu Data si stáhněte XLS tabulku označenou jako “Pohlaví/(délka, výška, šířka)”, v MS Excel si rozdělte data podle pohlaví (1= samci, 2= samice), v R vypočítejte hodnoty průměru, mediánu,minima, maxima, dolního a horního kvartilu, směrodatné odchylky, rozptylu a variačního koeficientu délky jedinců zvlášť pro jednotlivá pohlaví.

3. Lekce: Práce s “tabulkami”

Minule jsme se podívali na vektory, nyní se podíváme na práci s tabulkami, které budeme hodnotit častěji než samotné vektory/faktory

Data – budeme si je postupně sami tvořit v R

R soubor – zde

Video 8 – 3. lekce, 1. část (matice a tvorba datových tabulek)

Video 10 – 3. lekce, 2. část (práce s datovými tabulkami a seznamy)

Co jsme se naučili:

  • poznali jsme typy “tabulek” = matice, pole, datové tabulky, seznamy
  • ručně spojením vektorů vytvořit výše uvedené datové typy
  • výběry položek z výše uvedených datových typů
  • vytvořit prázdnou matici, pole, datovou tabulku, seznam a nakrmit je daty
  • přidání sloupců (a jiných objektů) do již existujících matic, polí, datových tabulek, seznamů
  • spojení datových tabulek podle definice
  • konverzi mezi maticí a datovou tabulkou
  • výběry z matic, polí, datových tabulek, seznamů
  • seřazení hodnot vektoru
  • vytvořit seznam
  • tvořit dotazy na složité seznamové struktury

Poznané funkce:

  • cbind() – spojuje vektory do matice po sloupcích; stejně tak je schopna slepit datové tabulky a matice
  • rbind() – spojuje vektory do matice po řádcích
  • t() – transponuje matici
  • matrix() – vytvoří matici
  • colnames() – pojmenování sloupců
  • rownames() – pojmenování řádků
  • array() – vytvoří pole
  • data.frame() – vytvoří datovou tabulku
  • rep() – příkaz pro opakování hodnoty (často při vytváření vektorů)
  • merge() – spojení datových tabulek
  • is.factor() – dotaz jestli je vektor faktor
  • summary() – volání sumárních dat z datové tabulky
  • as.data.frame() – vytvoří z matice datovou tabulku
  • as.matrix() – vytvoří z datové tabulky matici
  • sort() – seřadí hodnoty vektoru
  • list() – vytvoří seznam

Samostatná páce pro zopakování:

  • V postu Data si stáhněte XLS tabulku označenou jako “Podzemní voda na rašeliništích”. V R si funkcí c() vytvořte proměnné pH1 a pH2, které bude mít stejné hodnoty jako v dané XLS tabulce. Spojte je do jediné matice. Tuto matici převeďte na datovou tabulku. Získejte sumární informace za obě proměnné této matice.
  • V postu Data si stáhněte XLS tabulku označenou jako “Pohlaví/(délka, výška, šířka)”. V R si ručně vytvořte obraz této tabulky.

4. Lekce: Histogram a sloupcové grafy

Histogram i sloupcové grafy lze MS Excel vytvořit vcelku jednoduše, ale naučme se je tvořit i v R (když už nic, tak vypadají lépe).

Data – vytvoříme si je sami

R soubor – zde

Video 11 – Kompletní 4. lekce

Co jsme se naučili:

  • vytvořit histogram s absolutními relativními počty
  • upravit histogram graficky
  • využít data z funkce histogram po úpravě k tvorbě obecného grafu
  • vytvořit kumulativní histogram
  • vytvořit a upravit sloupcový graf

Poznané funkce:

  • hist() – vytvoří histogram
  • cumsum() – přepočítá vektor do své kumulativní podoby
  • (hist()) – vypíše hodnoty histogramu
  • plot() – vykreslí podle zadaných hodnot graf
  • histogram() – tvorba histogramu v package lessR
  • barplot() – vytvoří sloupcový graf

Samostatná páce pro zopakování:

  • V postu Data si stáhněte XLS tabulku označenou jako “Podzemní voda na rašeliništích”. Převeďte ji do R. V R vytvořte histogram a kumulovaný histogram pro proměnnou pH1.
  • V postu Data si stáhněte XLS tabulku označenou jako “Tělesná teplota (ráno, v poledne, večer)”. Převeďte ji do R (popřípadě si ji nejprve V MS Excel upravte) a vytvořte v R sloupcový graf srovnávající teplotu každého jedince v ráno, poledne a večer.

 

Cvičení 5

Úkol pro úvod 5. cvičení je zde

5. Lekce: Posouzení normality dat

Použití většiny parametrických metod je mimo jiné vázáno na předpoklad dat pocházejících ze základního souboru s normálním rozdělením. Tento předpoklad musíme posoudit.

Data – zde

R soubor – zde

Video 12 – Kompletní 5. lekce

Co jsme se naučili:

  • vytvořit q-q plot
  • vypočítat šikmost a špičatost
  • vypočítat Shapiro-Wilks test

Poznané funkce:

  • qqnorm() – vytvoří q-q graf
  • qqline() – do q-q grafu nakreslí přímku pro normální rozdělení
  • skewness() – vypočítá šikmost v package e1071
  • kurtosis() – vypočítá špičatost v package e1071
  • shapiro.test() – vypočítá Shapiro-Wilks test a vrátí hodnotu testu a jeho p

Samostatná páce pro zopakování:

  • V postu Data si stáhněte XLS tabulku označenou jako “Pohlaví/(délka, výška, šířka)”. Převeďte ji do R (popřípadě si ji nejprve V MS Excel upravte). Posuďte pomocí q-q grafu normalitu proměnné šířka zvlášť pro samce (=1) a samice (=2).
  • Použijte data z předchozího úkolu a vypočítejte hodnoty šikmosti a špičatosti pro šířku zvlášť pro samce (=1) a samice (=2).
  • Použijte data z předchozího úkolu a vypočítejte test normality Shapiro-Wilks testem pro šířku zvlášť pro samce (=1) a samice (=2).

Cvičení 6

Úkol pro úvod 6. cvičení je zde

6. Lekce: T-testy a F-test

Při používání základních parametrických testů už poznáte, že naučit se R v R Studio byl dobrý nápad, protože vše jde snadno zadáním jediného příkazu.

Data – zde

R soubor – zde

Video 13 – Kompletní 6. lekce

Co jsme se naučili:

  • vypočítat jednotlivé t-testy (jednovýběrový, párový, dvouvýběrový, oboustranný, jednostranný, s/bez rovnosti rozptylů)
  • vypočítat F-test

Poznané funkce:

  • t.test() – vypočítá t-testy
  • var.test() – vypočítá F-test

Samostatná páce pro zopakování:

  • V postu Data si stáhněte XLS tabulku označenou jako “Pohlaví/(délka, výška, šířka)”. Převeďte ji do R (popřípadě si ji nejprve V MS Excel upravte). Otestujte jednovýběrovým t-testem, jestli existuje rozdíl mezi průměrnou šířkou samce (=1) z daných měření a očekávanou šířkou 100.
  • V postu Data si stáhněte XLS tabulku označenou jako “Tělesná teplota (ráno, v poledne, večer)”. Převeďte ji do R (popřípadě si ji nejprve V MS Excel upravte). Otestujte párovým t-testem, jestli se liší teplota jedince ráno a večer.
  • V postu Data si stáhněte XLS tabulku označenou jako “Pohlaví/(délka, výška, šířka)”. Převeďte ji do R (popřípadě si ji nejprve V MS Excel upravte). Otestujte párovým t-testem rozdíl v průměrech délky mezi samci a samicemi (1= samci, 2= samice), použijte oboustranný test a variantu pro rovnost rozptylů.
  • V postu Data si stáhněte XLS tabulku označenou jako “Pohlaví/(délka, výška, šířka)”. Převeďte ji do R (popřípadě si ji nejprve V MS Excel upravte). Otestujte F-testem rozdíl v rozptylech výšky mezi samci a samicemi (1= samci, 2= samice).

Po této lekci je mid-term exam!!!!!!!!!

Co se v něm může objevit?

  • výpočty charakteristik polohy a variability (průměr, medián, modus, rozptyl, směrodatná odchylka, kvartily, minimum, maximum, variační koeficient)
  • posouzení normality dat (šikmost, špičatost, Shapiro-Wilks test v R nebo Kolmogorov-Smirnov test v MS Excel)
  • testování hypotéz – t-testy, F test (výpočet jednovýběrového t-testu, párového t-testu, dvouvýběrového t-testu, F-testu)

Data budou zadána v R scriptu pomocí funkcí c(), pokud je k výpočtu třeba tabulka dat (například v případech počítání t-testů a F-testu), tak součástí zadání jsou i příkazy na vytvoření matice pomocí cbind() a tabulky dat as.data.frame(). Tedy tyto příkazy si nebudete tvořit sami, ale budete je mít už od nás napsané – jen je budete muset klávesou CTRL+Enter provést. Toto opatření je nutné z důvodu zjištěné nepřímé funkcionality instalace packages na počítačích v ZR-Z12 – problém, který jsme zažili po prvním spuštění RStudia se bude při každé aktualizaci opakovat a nemůžeme riskovat, že se to stane při zápočtu. Kdo by chtěl výpočty dělat v MS Excel, tak si bude muset čísla do sešitu překopírovat/přepsat.

Při mid-term testu budete mít k dispozici kromě souboru s daty i soubor se všemi šesti lekcemi R, který je zde.

7. Lekce: Testování rozdílů v četnostech – test dobré shody, Fisherův exaktní test

V této lekci se naučíte testovat výsledky výzkumů, jehož data jsou nominální, čili se naučíme přehled metod určených k testování četností.

Data – zde, část dat si vytvoříme sami

R soubor – zde (aktualizováno a doplněno 15.112018)

Video 14 – Chí-kvadrát test 

Video 15 – Fisherův exaktní test

Video 16 – Kolmogorov-Smirnov test

Video 17 – Grafická prezentace nominálních dat

Co jsme se naučili:

  • počítat chí-kvadrát test dobré shody (jeden výběr oproti teoretickému rozdělení)
  • vytvořit kontingenční tabulku
  • vypočítat dvouvýběrový chí-kvadrát test
  • vypočítat Fisherův exaktní test
  • vypočítat Kolmogorov-Smirnov test
  • vytvořit z četnostních dat koláčový graf
  • doplnit k grafu legendu
  • vytvořit mozaikový graf z četností dvou kategoriálních proměnných

Poznané funkce:

  • table() – vytvoří kontingenční tabulku
  • chisq.test() – vypočítá chí-kvadrát testy
  • fisher.test() – vypočítá Fisherův exaktní test
  • ks.test() – vypočítá Kolmogorov-Smirnov test
  • pie() – vytvoří koláčový graf
  • legend() – vytvoří “legendu” ke grafu
  • mosaicplot() – vytvoří mozaikový graf

Samostatná páce pro zopakování:

  • V postu Data si stáhněte XLS tabulku označenou jako “Ostrorep – F(barva, trny)/M(přítomnost)”. Převeďte ji do R. Otestujte chí kvadrát testem, jestli se existuje vliv barvy samice na ochotu samců na páření. Poznámka: Aby šel výpočet v R udělat budete muset proměnné zadat jako as.factor.
  • Náhodným výběrem na zaplevelené zahradě jsme sebrali 8 rostlin Anagalis arvensis (drchnička rolní) – 7 rostlin mělo květy červené a jedna modré. Použijte Fisherova exaktního testu k rozhodnutí, jestli je poměr zastoupení červených a modrých květů 1:1.
  • Věkové zastoupení skotu v ČR v roce 2017 bylo: 193699 ks do 6 měsíců, 212989 ks ve věku 6-12 měsíců, 299249 ks ve věku 1-2 roky a 660426 ks ve věku nad 2 roky. Ve stejném období bylo v Jihočeském kraji v těchto kategoriích 27496 ks, 34433 ks, 43953 ks a 55362 ks. Použijte Kolmogorov-Smirnov testu k testování potenciální rozdílu mezi počty kusů skotu v Jihočeském kraji a ČR.

Cvičení 9

Úkol pro úvod 9. cvičení je zde

8. Lekce: Mann-Whitney test a Wilcoxon test (= testy pro dva výběry s ordinálními daty)

V této lekci se naučíte testovat výsledky výzkumů, jehož data jsou ordinální. Tyto testy jsou založeny na testování diferencí v pořadí.

Data – zde, část dat si vytvoříme sami

R soubor – zde

Video 18 – Kompletní 8. lekce

Co jsme se naučili:

  • testovat hypotézy Mann-Whitney testem
  • testovat hypotézy Wilcoxon testem

Poznané funkce:

  • wilcox.test() – vypočítá M-W test a W test

Samostatná páce pro zopakování:

  • V postu Data si stáhněte XLS tabulku označenou jako “Tělesná teplota (ráno, v poledne, večer)”. Převeďte ji do R (popřípadě si ji nejprve V MS Excel upravte). Otestujte Wilcoxonovým testem, jestli se liší teplota jedince ráno a večer.
  • V postu Data si stáhněte XLS tabulku označenou jako “Pohlaví/(délka, výška, šířka)”. Převeďte ji do R (popřípadě si ji nejprve V MS Excel upravte). Otestujte Mann-Whitney testem rozdíl v průměrech délky mezi samci a samicemi (1= samci, 2= samice), použijte oboustranný test a variantu pro rovnost rozptylů.

9. Lekce: One-way ANOVA, RMANOVA, Kruskal-Wallis test, Friedmanův test (= testy pro více výběrů a jeden faktor)

Tato obsáhlá lekce bude věnována problematice testování hypotéz, kde data obsahují více výběrů než dva a omezíme se na test jednoho faktoru (v případě “within” efektu to budou v podstatě faktory dva). Naučíme se používat větší množství packages a budeme i nuceni používat zadání a příkazů, kterým se věnujeme detailněji až v navazujícím kurzu.

Data – zde

R soubor – zde

Video 19: Kompletní 9. lekce

Co jsme se naučili:

  • testovat homogenitu variancí Leveneovým testem
  • testovat data, kdy máme k dispozici více nezávislých výběrů a vyvážený počet měření
  • používat Tukeyho a Dunnettův post-hoc testy
  • testovat více závislých výběrů
  • vše výše uvedené v parametrické i neparametrické variantě
  • čistě technicky jsme se naučili zadávat náhodné efekty a testovat nevyvážené modely

Poznané funkce:

  • leveneTest() – testuje homogenitu variancí (package car)
  • aov() – vypočítá test ANOVA pro vyvážená data (jedno i vícefaktorová ANOVA, fixed in random efekt)
  • summary() – vypíše výsledky uložených testů
  • TukeyHSD() – vypočítá Tukey HSD post-hoc test pro výsledky aov()
  • ggline() – vykreslí komplikované grafy z výsledků funkcí testů (package ggpubr)
  • glht() – umožňuje vypočítat různé druhy pos-hoc testů z výsledků funkcí testů (package multcomp)
  • cld() – získá informace z příkazu glht() a umožní jejich tisk do grafu (package multcomp)
  • lmer() – lineární model (my jsme jej použili jako ANOVA model) pro výpočet ANOVA na nevyvážených datech (package lme4)
  • anova() – vypočítá ANOVA z výsledku příkazu lmer() a dalších modelů
  • kruskal.test() – vypočítá Kruskal-Wallis test
  • pairwise.wilcox.test() – vypočítá post-hoc test pro Kruskal-Wallis test
  • posthoc.kruskal.nemenyi.test() – vypočítá Nemeyi post-hoc test pro Kruskal-Wallis test (package PMCMR)
  • friedman.test() – vypočítá Friedmanův test
  • posthoc.friedman.nemenyi.test() – vypočítá Nemeyi post-hoc test pro Friedmanův test (package PMCMR)

Samostatná páce pro zopakování:

  • V postu Data si stáhněte XLS tabulku označenou jako “Výška rostliny/(substrát, poloha)”. Převeďte ji do R (popřípadě si ji nejprve V MS Excel upravte). Otestujte pomocí One-way ANOVA a Mann-Whitney testem s příslušnými post-hoc testy, jestli se liší výška rostliny podle typu substrátu (polohu nebereme v potaz).
  • V postu Data si stáhněte XLS tabulku označenou jako “Tělesná teplota (ráno, v poledne, večer)”. Převeďte ji do R (popřípadě si ji nejprve V MS Excel upravte). Otestujte pomocí RMANOVA a Friedmanovým testem s příslušnými post-hoc testy, jestli se liší teplota jedince ráno, v poledne a večer.

Cvičení 11

Úkol pro úvod 11. cvičení je zde

10. Lekce: Kovariance a korelace

Tato a následující lekce už nejsou věnovány testováním rozdílů mezi výběry, ale souvislostem mezi proměnnými. V této lekci se naučíte pracovat se souvislostmi proměnným na základě kovariancí a korelačních koeficientů.

Data – zde

R soubor – zde

Video 20: Kompletní 10. lekce

Co jsme se naučili:

  • vypočítat kovariační koeficienty a kovariační matici
  • vypočítat korelační koeficienty a korelační matici – Pearson, Spearman, Kendal
  • vizualizovat korelační matici
  • vypočítat parciální korelační koeficienty

Poznané funkce:

  • cov() – vypočítá kovariační koeficienty zadaných proměnných
  • cor() – vypočítá korelační koeficienty zadaných proměnných
  • cor.mtest() – vypočítá hodnotu p pro korelační koeficient (package corrplot)
  • corrplot() – vizualizace korelační matice (package corrplot)
  • pcor() – vypočítá parciální korelační koeficienty a jejich hodnotu p (package ppcor)

Samostatná páce pro zopakování:

  • V postu Data si stáhněte XLS tabulku označenou jako “Pohlaví/(délka, výška, šířka)”. Převeďte ji do R (popřípadě si ji nejprve V MS Excel upravte). Vypočítejte korelační matici Pearsonových korelačních koeficientů délky, výšky a šířky zvlášť pro samce (=1) a samice (=2). Určete hodnotu p pro každý korelační koeficient. Vypočítejte i kovariační matici.
  • V postu Data si stáhněte XLS tabulku označenou jako “Ostrorep – F(šířka, hmotnost)/M(biomasa)”. Převeďte ji do R (popřípadě si ji nejprve V MS Excel upravte). Vypočítejte korelační matici Spearmanových korelačních koeficientů všech tří proměnných.

11. Lekce: Lineární regrese

V poslední lekci základního kurzu se v R Studiu naučíme ovládat lineární regresi jak jednoduchou i mnohonásobnou. Podíváme se tedy na případ, kdy na straně vysvětlujících proměnných je jejich větší počet a všechny použité proměnné jsou poměrové s normálním rozdělením – k dalším podmínkám viz text zde.

Data – zde

R soubor – zde

Video 21: Jednoduchá lineární regrese

Video 22: Mnohonásobná lineární regrese

Co jsme se naučili:

  • vypočítat jednoduchou lineární regresi
  • regresní diagnostiku na grafech reziduálů
  • vypočítat mnohonásobnou lineární regresi
  • rozhodnout o rozdílech dvou kompetičních modelů
  • vyčítat stepwise regresi

Poznané funkce:

  • lm() – vestavěná funkce R pro výpočet lineárního modelu
  • abline() – vykreslí regresní přímku do xy grafu

Samostatná páce pro zopakování:

  • V postu Data si stáhněte XLS tabulku označenou jako “Ostrorep – F(šířka, hmotnost)/M(biomasa)”. Převeďte ji do R. Existuje závislost množství samců ostrorepa zavěšených při páření hmotnosti samice?
  • V postu Data si stáhněte XLS tabulku označenou jako “Regrese-vejce”. Převeďte ji do R. Identifikujte závislost objemu vajec na vzdálenosti hnízda od volné hladiny a od nejbližšího hnízda – vyberte nejlepší model.

Po této lekci je 2. část zápočtového testu!!!!!!!!

Co se v něm může objevit?

  • Chí kvadrát test, Fisherův exaktní test, Kolmogorov-Smirnov test
  • Mann-Whitney test, Wilcoxon test
  • One-way ANOVA, Tukey HSD post-hoc test, Dunnett post-hoc test, Kruskal-Wallis test s post-hoc testem, Fiedmanův test s post-hoc testem
  • kovariance, korelace (Pearson, Spearman)
  • jednoduchá lineární regrese, mnohonásobná lineární regrese

Data budou zadána v R scriptu pomocí funkcí c(), pokud je k výpočtu třeba tabulka dat, tak součástí zadání jsou i příkazy na vytvoření matice pomocí cbind() a tabulky dat as.data.frame(), popřípadě zadání faktoru as.factor(). Tedy tyto příkazy si nebudete tvořit sami, ale budete je mít už od nás napsané – jen je budete muset klávesou CTRL+Enter provést. Toto opatření je nutné z důvodu zjištěné nepřímé funkcionality instalace packages na počítačích v ZR-Z12 – problém, který jsme zažili po prvním spuštění RStudia se bude při každé aktualizaci opakovat a nemůžeme riskovat, že se to stane při zápočtu. Kdo by chtěl výpočty dělat v MS Excel, tak si bude muset čísla do sešitu překopírovat/přepsat.

Při 2. části zápočtu budete mít k dispozici kromě souboru s daty i soubor s prvními šesti lekcemi R (zde) a druhu část s dalšími pěti lekcemi (zde).

Další ovládací prvky a statistické metody v R**

Nic z následujícího není předmětem výuky, ni zápočtu, ni zkoušky. Jde jen o materiály pro zájemce, kteří potřebují řešit složitější věci.

AdvancedR1: Vytvoření dummy variables z faktoru

  • syntaxe pro vytvoření nové tabulky z faktoru nástrojem package caret a následné spojení s původní tabulkou funkcí cbind()

R script

AdvancedR2: Import všech listů z sešitu MS Excel

  • skript pro import všech listů ze sešitu MS Excel do objektu list a jejich převod na objekt data.frame a pojmenování z názvu listu
  sheets <- readxl::excel_sheets("D:/cesta/soubor.xlsx")
  data1 <- lapply(sheets, function(X) readxl::read_excel("D:/cesta/soubor.xlsx", sheet = X))
  data1 <- lapply(data1, as.data.frame)  # pro některé příkazy je NUTNÉ mít data.frame!!!!!
  names(data1) <- sheets # pojmenování jednotlivých tabulek názvy listů 

Advanced R3: Z-test a jeho využití při testování rozdílů v poměrech

  • prop.test() – z-test
  • prop.trent.test() – test trendu v poměrech
  • p.adjust() – upravéní hodnoty p v multiple comparison
### Z-test ###

# Liší se klíčivost semen po 1, 2 a 3 letech skladování? Každý rok byl k dispozici jiný počet semen


# http://www.sthda.com/english/wiki/two-proportions-z-test-in-r
# https://sphweb.bumc.bu.edu/otlt/MPH-Modules/BS/R/R6_CategoricalDataAnalysis/R6_CategoricalDataAnalysis6.html

# test rozdílů v poměrech
klici <- c(400,300,100)
semena <- c(500,400,300)
res1 <- prop.test(klici, semena)
res1

# post-hoc porovnani
# https://stats.stackexchange.com/questions/116323/compare-proportions-more-than-two-groups
# používá se funkce p.adjust()
prop.test(x = c(400, 100), n = c(500, 300))
prop.test(x = c(400, 300), n = c(500, 400))
prop.test(x = c(300, 100), n = c(400, 300))
ps <- c(2.2e-16,2.2e-16,0.08687)
lab <- c("1vs3","2vs3","1vs2")
tab <- data.frame(lab, ps)

?p.adjust

tab$Bonferroni <- p.adjust(tab$ps, method = "bonferroni")


# test vazby v postupu kliceni = test trendu, dá se požít na vývoj klíčení za 
# více než dva roky
res2 <- prop.trend.test(klici, semena)
res2