User Tools

Site Tools


cs:alpha_beta_diversity

Česká verze stránek není od roku 2013 aktualizována. Aktuální verzi této stránky najdete v její anglické verzi zde.

Alfa a beta diverzita

Budete potřebovat následující data z údolí Vltavy:

vltava.spe <- read.delim ('http://www.davidzeleny.net/anadat-r/data-download/vltava-spe.txt', row.names = 1)
vltava.env <- read.delim ('http://www.davidzeleny.net/anadat-r/data-download/vltava-env.txt')
 

Alfa diverzita

specnumber (library vegan)

Počet druhů ve snímku:

specnumber (vltava.spe)

Funkce je vlastně jen jednoduchý obal pro následující funkci:

rowSums (vltava.spe > 0)

Pokud chcete spočítat počty druhů v jednotlivých skupinách vzorků, můžete do funkce specnumber přidat argument groups (skupiny vezmeme z klasifikace fytocenologických snímků do klastrů v proměnné vltava.env$GROUP):

specnumber (vltava.spe, groups = vltava.env$G)
 
  1   2   3   4 
189 145 146 216 

Průměrné počty druhů ve vzorcích patřících do jednotlivých klastrů spočteme takto1):

tapply (specnumber (vltava.spe), vltava.env$G, FUN = mean)
 
       1        2        3        4 
34.20000 26.07692 28.15625 45.42105 

diversity (library vegan)

Výpočet Shannon-Wienerova indexu diverzity:

H <- diversity(vltava.spe, "shannon")

a z něj odvozená vyrovnanost (Pielou's evenness, equitability):

J <- H/log (specnumber (vltava.spe))

Výpočet Simpsonova indexu diverzity:

simp <- diversity(vltava.spe, "simpson")

Beta diverzita

Whittakerova beta diverzita, vypočtená jako β = γ/mean (α) - 1:

ncol(vltava.spe)/mean(specnumber(vltava.spe)) - 1
 
[1] 9.612284

Sørensenův index nepodobnosti pro jednotlivé páry vzorků:

beta <- vegdist (vltava.spe, binary = TRUE, method = 'bray')
mean (beta)
 
[1] 0.7527493

Bray-Curtisův index nepodobnosti je vlastně Sørensenův index počítaný na kvantitativních datech, proto když data převedeme do binární (presenčně-absenční) podoby argumentem binary = TRUE, počítáme Sørensenův index.

betadiver (library (vegan)

Funkce, která počítá 24 indexů betadiverzity, které jsou popsány v článku Koleff et al. (2003) 2). Náhled na označení jednotlivých indexů lze získat takto:

betadiver (help = T)
1 "w" = (b+c)/(2*a+b+c)
2 "-1" = (b+c)/(2*a+b+c)
3 "c" = (b+c)/2
4 "wb" = b+c
5 "r" = 2*b*c/((a+b+c)^2-2*b*c)
6 "I" = log(2*a+b+c)-2*a*log(2)/(2*a+b+c)-((a+b)*log(a+b)+(a+c)*log(a+c))/(2*a+b+c)
7 "e" = exp(log(2*a+b+c)-2*a*log(2)/(2*a+b+c)-((a+b)*log(a+b)+(a+c)*log(a+c))/(2*a+b+c))-1
8 "t" = (b+c)/(2*a+b+c)
9 "me" = (b+c)/(2*a+b+c)
10 "j" = a/(a+b+c)
11 "sor" = 2*a/(2*a+b+c)
12 "m" = (2*a+b+c)*(b+c)/(a+b+c)
13 "-2" = pmin(b,c)/(pmax(b,c)+a)
14 "co" = (a*c+a*b+2*b*c)/(2*(a+b)*(a+c))
15 "cc" = (b+c)/(a+b+c)
16 "g" = (b+c)/(a+b+c)
17 "-3" = pmin(b,c)/(a+b+c)
18 "l" = (b+c)/2
19 "19" = 2*(b*c+1)/((a+b+c)^2+(a+b+c))
20 "hk" = (b+c)/(2*a+b+c)
21 "rlb" = a/(a+c)
22 "sim" = pmin(b,c)/(pmin(b,c)+a)
23 "gl" = 2*abs(b-c)/(2*a+b+c)
24 "z" = (log(2)-log(2*a+b+c)+log(a+b+c))/log(2)

Pokud chci spočítat například Whittakera mezi páry jednotlivých vzorků3):

beta <- betadiver (vltava.spe, 'w')
mean (beta)
 
[1] 0.7527493

Funkce betadiver vrací matici distancí (nepodobností), s výjimkou 10 “j” a 11 “sor”, tedy Jaccardova a Sorensenova indexu podobnosti (nedá se s nimi počítat jako s distancemi!). Pro výpočet libovolného indexu diverzity můžete také použít funkci designdist (library vegan).

Akumulační a rarefakční křivky

specaccum (library vegan)

Akumulační křivka založená na plochách (případně na individuích)

spe1 <- specaccum (vltava.spe, method = 'random')
plot (spe1, ci.typ = 'poly', ci.col = 'grey' )

spe4 <- by (vltava.spe, vltava.env$GROUP, specaccum, method = 'random')
max.y <- max (unlist (lapply (spe4, FUN = function (x) max (x$richness))))
max.x <- max (unlist ((lapply (spe4, FUN = function (x) max (x$sites)))))
min.x <- min (unlist ((lapply (spe4, FUN = function (x) max (x$sites)))))
 
plot (spe4[[1]], xlim = c(0,max.x), ylim = c(0, max.y))
for (i in seq (1,4))
plot (spe4[[i]], add = T, ci.type = 'poly', ci.col = i)
abline (v = min.x)
 
legend ('topright', col = 1:4, legend = 1:4, pch = 15)

rarefy (library vegan)


Cvičení 1

Pro data z údolí Vltavy nakreslete scatterplot vztahu počtu druhů a půdního pH (měřeného ve vodě).

Řešení

Cvičení 2

Použijte data z Gentryho lesních transektů (seznamte se nejdříve s popisem dat, a pak zkopírujte skript pro import dat - získáte tak dva soubory, gentry197 a gentry.coord - první je list s maticemi druhy x plochy z jednotlivých lokalit, druhý je datový rámec se souřadnicemi, nadmořskou výškou a srážkami).

Spočtěte následující hodnoty:

  1. gamma diverzitu jednotlivých lokalit (počty taxonů v rámci lokality);
  2. průměrnou alfa diverzitu jednotlivých podploch v rámci lokalit (průměrné počty taxonů v rámci podploch každé lokality);
  3. Whittakerovu beta diverzitu jednotlivých lokalit (1-průměrná.alfa/gamma);
  4. gamma diverzitu jednotlivých lokalit naředěnou (rarifikovanou) na 43 jedinců (lokalita s nejméně jedinci jich má právě 43, a počty druhů jsou mezi lokalitami s různým počtem jedinců nesrovnatelné).

Nakreslete následující obrázky:

  1. gamma a alfa diverzitu vyneste proti zeměpisné šířce (proměnná Lat v souboru gentry.coord) do jednoho obrázku - hodnoty gamma diverzity zobrazte modře, hodnoty alfa diverzity červeně, a y-osu obrázku zlogaritmujte
  2. v dalším obrázku vyneste závislost hodnot beta-diverzity na zeměpisné šířce
  3. obrázky porovnejte s výsledky studie Kraft et al. (2011), která analyzovala stejný vztah na stejných datech - konkrétně s obrázky Fig. 1 A&C, a Fig. 2 B.

Řešení

1)
Funkce tapply rozdělí hodnoty v první proměnné (počet druhů ve vzorcích) do skupin podle druhé proměnné, a na každou skupinu aplikuje funkci mean.
2)
Koleff, P., Gaston, K.J. and Lennon, J.J. (2003) Measuring beta diversity for presence-absence data. Journal of Animal Ecology 72, 367–382.
3)
Všiměte si, že Whittakerův index beta diverzity mezi páry vzorků vychází stejně jako Sorensenův index nepodobnosti vypočtený nahoře.
cs/alpha_beta_diversity.txt · Last modified: 2017/10/11 20:36 (external edit)