# nastaveni cesty install.packages('vegan') library(vegan) # nastaveni cesty getwd() setwd("c:/Users/brozova/Desktop/vyuka/vicerozmerky_podzim_2016_bimat/2. cviceni/") # ------------------------------------------------------------------------ # Asociacni matice ------------------------------------------------------- # ------------------------------------------------------------------------ ########## # Priklad 1: Vytvorte asociacni matici pro datovy soubor lokality. V pripade potreby pouzijte vhodnou standardizaci. ########## lokality<-read.table('lokality.csv', sep=";", header=TRUE, dec=".") head(lokality,10) dim(lokality) is(lokality) names(lokality) row.names(lokality)<-lokality[,1] # ulozeni nazvu lokalit do nazvu radku lokality<-lokality[,-1] head(lokality,10) ?dist dist.lokality<-dist(lokality,method='euclidean') # vypocet asociacni matice dist.lokality # pouze horni/dolni trojuhelnikova matice dist.lokality<-as.data.frame(as.matrix(dist.lokality))# doplneni na ctvercovou matici a pak prevedeni na tabulku dist.lokality summary(lokality) # promenne maji odlisny rozsah, data je potreba standardizovat ?decostand lokality.stan<-decostand(lokality,"standardize") # standardizace souboru summary(lokality.stan) # prumer promennych je roven 0 var(lokality.stan[,1]) # rozptyl promennych je roven 1 dist.lokality.stan<-dist(lokality.stan,method='euclidean') # vypocet asociacni matice na standardizovanych datech dist.lokality.stan<-as.data.frame(as.matrix(dist.lokality.stan)) # doplneni na ctvercovou matici a pak prevedeni na tabulku rownames(dist.lokality.stan)<-row.names(lokality) # pridani nazvu radku colnames(dist.lokality.stan)<-t(row.names(lokality)) #pridani nazvu sloupcu head(dist.lokality.stan) write.table(dist.lokality.stan, file="dist.lokality.stan.csv", sep=";") # ulozeni matice ########## # Priklad 2: Vytvorte asociacni matici abundanci ryb, pozijte vhodny asociacni koeficient. ########## ryby<-read.table('ryby.csv', sep=";", header=TRUE, dec=".") head(ryby,10) dim(ryby) is(ryby) names(ryby) row.names(ryby)<-ryby[,1] # ulozeni nazvu lokalit do nazvu radku ryby<-ryby[,-1] head(ryby,10) ?vegdist #jedna z mnoha funkci pro vypocet asociacni matice dist.ryby<-vegdist(ryby, "jac") # vypocet asociacni matice na abundancich(poctech) druhu = 1 - Sorensenův asymetrický koeficient podobnosti pro data abundancí dist.ryby.b<-vegdist(ryby, "jac", binary=T) # vypocet asociacni matice na ne/pritomnosti druhu (binarnich prom.) = 1 - Jaccard dist.ryby.b<-as.data.frame(as.matrix(dist.ryby.b)) # doplneni na ctvercovou matici a pak prevedeni na tabulku dist.ryby.b #POZOR!!!! Podobnosti jsou pomoci funkce 1-podobnost prevadeny na vzdalenosti!!! (na diagonale jsou nuly) write.table(dist.ryby.b, file="dist.ryby.b.csv", sep=";") # ulozeni matice # ------------------------------------------------------------------------ # Vypocet Mantelova testu ------------------------------------------------ # ------------------------------------------------------------------------ ########## # Priklad 3: Zjistete zda spolu souvisi fyzicko-chemicke charakteristiky lokalit a slozeni spolecenstev na lokalitach. ########## # Reseni: Zavislost matic lokality.stan a ryby testujeme pomoci mantel testu ?mantel mantel(dist.lokality.stan,dist.ryby.b, method="spearman", permutations=1000) # Asociacni matice jsou statisticky vyznamne korelovany (p < 0.05). # Koeficient korelace > 0 -> kladna korelace -> cim vice jsou lokality odlisne na zaklade charakteristik prostredi, # tim vice se lisi abundanci ryb a naopak cim podobnejsi si jsou lokality na zaklade charakteristik prostredi, tim podobnejsi # si jsou na zaklade vyskytu zivocisnych druhu.