1 Procvičování 12 - řešení 1. Naimportujte data z Excelového souboru dat_12.xls. Najdete v něm tři listy: env, spe a tax. env a spe už znáte, pracujeme s nimi pravidelně, tax obsahuje taxonomické zařazení druhů (listu spe, jsou ve stejném pořadí) do podčeledí (sloupec subfamily). Při importu zachovejte reprodukovatelnost - nepoužívejte 'clipboard', ale specifikujte cestu k souboru. env<- read.delim("D:/My Dropbox/predmety/uvod do R/2013/cvl2/env.txt", row.names= 1) spe<- read.delim("D:/My Dropbox/predmety/uvod do R/2013/cvl2/spe.txt", row.names= 1) tax<- read.delim("D:/My Dropbox/predmety/uvod do R/2013/cvl2/tax.txt", row.names= 1) 2. Vytvořte zkratky jmen druhů (jež jsou v hlavičce listu spe) a přejmenujte sloupce dataframu spe zkratkami. # install.packages("vegan"), pokud neni nainstalovaný library(vegan) ## Loading required package: permute ## Loading required package: lattice ## This is vegan 2.0-10 names(spe)<- make.cepnames(names(spe)) 3. Zobrazte rank abundance plot. To je sloupečkový graf, v němž každý sloupeček představuje jeden druh, výšku určuje celková abundance druhu a sloupečky jsou seřazeny od nejvyššího po nejnižší. # nejprve nahradim NA hodnoty nulami (pripadne mohu pouzivat argument na.rm= T ve funkcich, # kde by mi NA hodnoty překážely) spe[is.na(spe)]<- 0 # zmenšeni okraju v grafickém okne par(mar= c(4,4,4,l)) barplot(sort(colSums(spe), decreasing= T)) 2 o o o CM O O in o o o o o — in o —1 JDDDDDDDDi tttCE Micrsp Thieinde Tanybrun PolyGr.1 Pararufi Ablasp ParaGr 4. Zjistěte pro každou podčeleď, kolik celkem jedinců dané podčeledi bylo zaznamenáno. # pouziju smyčku, tak si nejprve vytvorim "prázdny" výsledný objekt, # který pomoci smyčky naplnim res<- numeric(length= nlevels(tax$subfamily)) names(res)<- levels(tax$subfamily) for(i in levels(tax$subfamily)){ res[i]<- sum(spe[, tax$subfamily == i]) > res ## Diamesinae Chironominae Orthocladiinae Prodiamesinae Tanypodinae ## 58 4929 6189 147 545 5. Zjistěte, kolik druhů bylo v jednotlivých podčeledích zaznamenáno. # počet druhu v podceledich odpovida poctu výskytu nazvu podčeledi ve vektoru tax$subfamily table(tax$subfamily) ## ## Diamesinae Chironominae Orthocladiinae Prodiamesinae Tanypodinae ## 2 15 31 1 5 6. Vytvořte dataframe subfam obsahující proměnné froude, chir, orth a tanypod. froude bude obsahovat Froudeho čísla spočítaná pro jednotlivé lokality (tak, jak jsou v proměnné froude dataframu env), chir, orth a tanypod pak součty jedinců nejběžnějších podčeledi Chironominae, Orthocladiinae a Tanypodinae resp. na jednotlivých lokalitách. Dataframe subfam tedy bude mít 27 řádků (lokalit) a 4 sloupce (proměnné). 3 subfam<- data.frame(froude= env$froude, chir= rowSums(spe[, tax$subfamily == "Chironominae"]), orth= rowSums(spe[, tax$subfamily == "Orthocladiinae"]), tanypod= rowSums(spe[, tax$subfamily == "Tanypodinae"])) subfam ## froude chir orth tanypod ## sOl 0 .139193 41 92 6 ## s02 0 .175951 64 323 18 ## s03 0 .140536 55 80 10 ## s 04 0 .046165 55 110 18 ## s05 0 .051925 100 327 62 ## s06 0 .070242 134 405 65 ## s07 0 .296715 19 232 7 ## s08 0 .427528 5 141 0 ## s09 0 .329023 14 202 3 ## slO 0 .407331 22 187 0 ## sil 0 .219511 14 163 3 ## sl2 0 .522477 149 297 1 ## sl3 0 .065500 378 102 83 ## s 14 0 .181655 38 109 3 ## sl5 0 .299809 337 368 17 ## sl6 0 .167799 7 114 1 ## sl7 0 .135520 13 226 4 ## sl8 0 .242733 103 452 3 ## sl9 0 .039662 47 135 16 ## s20 0 .476675 57 139 21 ## s21 0 .507082 195 1227 2 ## s22 0 .134698 49 59 13 ## s23 0 .127380 47 92 6 ## s 24 0 .558432 268 395 6 ## s25 0 .539509 14 31 1 ## s26 0 .001813 2530 107 139 ## s27 0 .020319 174 74 37 7. Do dataframu subfam přidejte proměnnou hab, která bude odlišovat vzorky z různých habitatů. Bude to faktor s úrovněmi OM, P, R a VEG a vytvoříte jej z proměnné hab dataframu env. Úroveň OM vytvoříte sloučením úrovní Ep_CPOM a Ep_FPOM; P, R a VEG vytvoříte přejmenováním úrovní Ep, Er a Er_VEG, resp. # nejprve si udelam kopii hab v subfam subfam$hab<- env$hab # pak uz jen upravit názvy úrovni levels(subfam$hab)<- c('P', '0M', '0M','R','VEG') subfam ## froude chir orth tanypod hab ## sOl 0.139193 41 92 6 P ## s02 0.175951 64 323 18 P 4 ## s03 0 .140536 55 80 10 P ## s 04 0 .046165 55 110 18 OM ## s05 0 .051925 100 327 62 OM ## s06 0 .070242 134 405 65 OM ## s07 0 .296715 19 232 7 R ## s08 0 .427528 5 141 0 R ## s09 0 .329023 14 202 3 R ## slO 0 .407331 22 187 0 VEG ## sil 0 .219511 14 163 3 VEG ## sl2 0 .522477 149 297 1 VEG ## sl3 0 .065500 378 102 83 OM ## s 14 0 .181655 38 109 3 P ## sl5 0 .299809 337 368 17 VEG ## sl6 0 .167799 7 114 1 P ## sl7 0 .135520 13 226 4 P ## sl8 0 .242733 103 452 3 VEG ## sl9 0 .039662 47 135 16 P ## s20 0 .476675 57 139 21 R ## s21 0 .507082 195 1227 2 VEG ## s22 0 .134698 49 59 13 P ## s23 0 .127380 47 92 6 P ## s 24 0 .558432 268 395 6 VEG ## s25 0 .539509 14 31 1 R ## s26 0 .001813 2530 107 139 OM ## s27 0 .020319 174 74 37 OM 8. Rozdělte si grafické okno na 3 oddíly. par(mfrow= c(1,3)) 9. Pro každou ze tří nejběžnějších podčeledí zobrazte v bodovém grafu její logaritmované abundance proti Froudeho číslo. Použijte argument main= pro zobrazní názvu grafu a každý graf nazvěte podle zobrazované podčeledi. # muzeme použit smyčku, ale nemusime par(mfrow= c(l,3), mar= c(4,4,4,l)) for(i in names(subiam)[2:4]){ plot(loglp(subfam[, i]) ~ subfam$froude, main= i) > 5 chir Orth tanypod o o o o T-1-1-1-1-1— 0.0 0.1 0.2 0.3 0.4 0.5 O O T-1-1-1-1-1— 0.0 0.1 0.2 0.3 0.4 0.5 o o o o 1-1-1-1-1-1— 0.0 0.1 0.2 0.3 0.4 0.5 10. Stejně jako v předchozím bodě zobrazte pro každou ze tří nejběžnějších podčeledí její logaritmované abundance proti Froudeho číslo, různými symboli ale odlište vzorky z odlišných habitatů hab dataframu subfam. par(mfrow= c(l,3), mar= c(4,4,4,l)) # opet se smyčkou for(i in names(subfam)[2:4]){ plot(loglp(subfam[, i]) ~ subfam$froude, main= i, pch= c(3,l,2,15)[subfam$hab]) > tanypod i-1-1-1-1-1— 0.0 0.1 0.2 0.3 0.4 0.5 ° °° -H-++ 1-1-1-1-1-1- 0.0 0.1 0.2 0.3 0.4 0.5 + -H-+ + ■ ■ A + 1-1-1-1-1-1— 0.0 0.1 0.2 0.3 0.4 0.5 11. Seřaďte úrovně faktoru hab podle mediánu Froudeho čísla, čili tak, aby v grafu byla první zobrazená úroveň s nejnižším mediánovým Froudeho číslem a poslední ta s nejvyšším. Zkontrolujte zobrazením boxplotu Froudeho čísla proti habitatu. 6 CD T3 O ^1-O CM O O O hab 12. Pro každou ze tří nejběžnějších podčeledí zobrazte v boxplotu její logaritmované abundance proti habitatu. Použijte argument main= pro vytvoření názvu grafu a každý graf nazvěte podle zobrazované podčeledi. subfam$hab subfam$hab subfam$hab