Estatística na Mão

Sem mistérios e sem complicação

Artigos sobre Estatística



Visualizações: 923

Calculando Diversidade com R

Introdução

O índice de Shannon (H’) e a equabilidade de Pielou (J) são muito utilizados para a avaliar a diversidade e a dominância ecológica de comunidades de espécies arbóreas. Quanto maior o valor de H, maior é a diversidade. Já o J varia de 0 a 1, sendo que valor máximo indicaria uma situação onde todas as espécies teriam o mesmo número de indivíduos, o que significaria ausência de dominância ecológica. Existi no R (“diversity”, na biblioteca “vegan”) uma função para o cálculo de H. (Higuchi, 2010).

O pacote (biblioteca) vegan foi criada e é mantida por Jari Oksanen. A larga documentação e o longo tempo de desenvolvimento torna essa biblioteca (library) uma das mais eficientes para o cálculo de diversidade de organismos. Muito experimentada e largamente utilizada em muitos trabalhos científicos, publicados nas mais renomadas revistas científicas mundiais, conferem a esta bilioteca um status privilegiado.

Diversidade/Fisher e Nº de Espécies

Há um sistema de documentação amplo para o R e seus pacotes, o que permite o um aprendizado escalonar. Trata-se do site RDocumentation. Neste site podemos é possível enteder com detalhes a documentação do pacote vegan. Passaremos a traduzir o que conta no site.

diversity(x, index = "shannon", MARGIN = 1, base = exp(1))
fisher.alpha(x, MARGIN = 1, ...)
specnumber(x, groups, MARGIN = 1)

x
Dados da comunidade, um objeto tipo matriz ou um vetor.

index
Índice de diversidade, informe um destes "shannon", "simpson" ou "invsimpson".

MARGIN
Margem para a qual o índice é calculado.

base
A base de logaritmo usada no índice de "shannon". É o mais popular usar logaritmos naturais, mas alguns discutem para a base b = 2 (que faz o sentido, mas nenhuma diferença real).

groups
Um fator de agrupamento: se determinado, encontra o número total de espécies em cada grupo.

Detalhes das Fórmulas de Diversidade

Shannon-Weaver ou Shannon-Wiener

O índice de Shannon (também chamado de índice Shannon-Weaver ou de índice do Shannon-Wiener). H’ é um dos diversos índices da diversidade usados para medir a diversidade em dados categóricos. É simplesmente a informação entropica da distribuição, tratamento as espécies como símbolos e o tamanhos da respectiva população como uma probabilidade.

Desta forma temos a seguinte fórmula para o índice de Shannon:
H = -\sum_{i=1}^{S}{ p_i }\times log(b) p_i
Onde: S = número de espécies; pi: A abundância relativa de cada espécie, calculada pela proporção dos indivíduos de uma espécie pelo número total dos indivíduos na comunidade: n_{i} \over N; N: O número total de todos os indivíduos: \sum _{i=1}^{S}n_{i}; ni: O número dos indivíduos em cada espécie; a abundância de cada espécie.

Simpson

Ambas as variantes do índice de Simpson são baseadas em D = \sum {p_i}^2. Ao selecionar na fórmula diversity o index="simpson" retorna-se 1- D e index="invsimpson" retorna-se 1/D.

Fisher Alfa

A função fisher.alpha estima o parâmetro α da série logarítmica de Fisher (ver fisherfit). A estimativa é possível apenas para contagens genuínas de indivíduos.

Número de Espécies

A função specnumber encontra o número de espécies, tendo como argumento MARGIN. Com MARGIN = 2, encontra-se a frequência de espécies. Se o parâmetro groups for setado (especificado), encontra-se o número total de espécies em cada grupo.

Rerefação

Histórias melhores podem ser contadas sobre o índice de Simpson do que sobre o índice de Shannon, e ainda narrativas mais grandiosas sobre rarefação (Hurlbert, 1971). No entanto, esses índices estão todos muito intimamente relacionados (Hill, 1973), e não há razão para desprezar um mais do que outro.

Calculando com R

Usaremos no exemplo o R Studio, mas o script e linhas de comando são do R. A vantagem de usar o R Studio fica por conta da sua IDE (Integrated Development Environment ou Ambiente de Desenvolvimento Integrado), que permite o carregamento de pacotes (packages) sem a necessidade da linha de comando Library("packagename"). O Script pode ser baixado aqui.. você pode executar através do R Console.

Script

#Este Script foi extraído do site Estatística na Mão http://estatisticanamao.agroamb.com.br
library(vegan)
#dados hipotéticos
dados=c(1,3,2,36,25,12,25,36,24,52,30,32); dados
#calcula o valor de diversidade para o índice de Shannon
h=diversity(dados, index="shannon")
#calcula o valor de diversidade para o índice de Simpson
simp=diversity(dados, index="shannon")
#calcula o valor de diversidade para o índice de Inverse Simpson
invsim =diversity(dados, "inv")
#calcula o valor Alfa segundo Fisher
alfa= fisher.alpha(dados)
#calcula de rarefação segundo Hurlbert (1971)
unbias.simp <- rarefy(dados, 2) - 1
#Exibe os valores do indice de Shannon, Simpson, Valor de Alfa, simpson inverse e Rarefação calculados
h
simp
alfa
invsim
unbias.simp
# Riqueza de Espécies (S) e equidade Pielou's  (J):
S=specnumber(dados)
J=h/log(S)
S
J
# Plotar Todos em um gráfico
pairs(cbind(h, simp, invsim, unbias.simp, alfa), pch="+", col="red")

Resultado

> library(vegan)
Carregando pacotes exigidos: permute
Carregando pacotes exigidos: lattice
This is vegan 2.4-1
> #dados hipotéticos
> dados=c(1,3,2,36,25,12,25,36,24,52,30,32); dados
 [1]  1  3  2 36 25 12 25 36 24 52 30 32
> #calcula o valor de diversidade para o índice de Shannon
> h=diversity(dados, index="shannon")
> #calcula o valor de diversidade para o índice de Simpson
> simp=diversity(dados, index="shannon")
> #calcula o valor de diversidade para o índice de Inverse Simpson
> invsim =diversity(dados, "inv")
> #calcula o valor Alfa segundo Fisher
> alfa= fisher.alpha(dados)
> #calcula de rarefação segundo Hurlbert (1971)
> unbias.simp <- rarefy(dados, 2) - 1
> #Exibe os valores do indice de Shannon, Simpson, Valor de Alfa, simpson inverse e Rarefação calculados
> h
[1] 2.217061
> simp
[1] 2.217061
> alfa
[1] 2.5536
> invsim
[1] 8.396784
> unbias.simp
[1] 0.884087
attr(,"Subsample")
[1] 2
> # Riqueza de Espécies (S) e equidade Pielou's  (J):
> S=specnumber(dados)
> J=h/log(S)
> S
[1] 12
> J
[1] 0.8922111
> # Plotar Todos em um gráfico
> pairs(cbind(h, simp, invsim, unbias.simp, alfa), pch="+", col="red")
Gráfico dos parâmetros cauculados e gerado no R Studio, para o script acima.

Figura 1. Gráfico dos parâmetros cauculados e gerado no R Studio, para o script acima.

Referências

Higuchi, P., 2010. Função do R para o cálculo do Índice de Shannon e Equabilidade de Pielou. Disponível em: Dendro Blog

Hill, M.O., 1973. Diversity and Evenness: A Unifying Notation and Its Consequences. Ecology, 54: 427-432. Disponível em: http://www.jstor.org/stable/1934352

Hurlbert, S.H., 1971. The nonconcept of species diversity: a critique and alternative parameters. Ecology, 52: 577-586. Disponível em: http://dx.doi.org/10.2307/1934145

Oksanen, J, F. Guillaume Blanchet, M. Friendly, R. Kindt, P. Legendre, D. McGlinn, P. R. Minchin, R. B. O'Hara, G.L. Simpson, P. Solymos, M.H.H. Stevens, E. Szoecs & H. Wagner, 2016. vegan: Community Ecology Package. Disponível em: https://cran.r-project.org/package=vegan

RDocumentation. diversity. Ecological Diversity Indices. Shannon, Simpson, and Fisher diversity indices and species richness. Disponível em: https://www.rdocumentation.org/packages/vegan/versions/2.4-1/topics/diversity

RDocumentation. fisherfit. Fit Fisher's Logseries And Preston's Lognormal Model To Abundance Data. Disponível em: https://www.rdocumentation.org/packages/vegan/versions/2.4-1/topics/fisherfit?

Como citar este artigo:
Rodrigues, William Costa, 2016. Calculando Diversidade com R. Estatística na Mão. Disponível em: http://estatisticanamao.agroamb.com.br/estatisticanamao/artigos.aspx?ID=14?ID=14. [Acesso em: 14.12.2017].



Topo