12 R Modulo 4-1

Estrutura da Comunidade

RESUMO

Na ecologia de comunidades, a diversidade de espécies é uma medida importante para entender a complexidade e a estrutura de uma comunidade de organismos. Vamos explorar algumas das métricas comuns usadas para avaliar a diversidade de espécies.

Apresentação

Na ecologia de comunidades, a diversidade de espécies é uma medida importante para entender a complexidade e a estrutura de uma comunidade de organismos. Vamos explorar algumas das métricas comuns usadas para avaliar a diversidade de espécies. Essas métricas são usadas para avaliar a diversidade e a estrutura de comunidades ecológicas. Elas podem fornecer informações importantes sobre como as diferentes espécies interagem em um ecossistema e como a diversidade de espécies pode ser afetada por mudanças ambientais ou distúrbios (Magurran 1988).

12.1 Sobre os dados

Usaremos para esse tutorial dados coletados no Programa de Pesquisa em Biodiversidade - PPBio (Veja Programa de Pesquisa em Biodiversidade – PPBio). Parte desses dados está armazenada na planilha de Excel ppbio**.xlsx. Essa planilha contém os dados de espécies de peixes dstribuidas em diversas unidades amostrais (UA’s ou sítios) (Figura 12.1). Essa é a matriz bruta de dados, porque os valores ainda não foram ajustados para os valores de Captura Por Unidade de Esforço (CPUE), nem foram relativizados ou transformados (Tabela 12.1).

Parte da planilha de dados brutos do PPBio.

Figura 12.1: Parte da planilha de dados brutos do PPBio.

Tabela 12.1: Matrizes disponíveis para análises, com suas descrições e tipos de dados recomendados.
Arquivo (.xlsx) Tipo de matriz Descrição Tipo de dados
ppbio06c Matriz comunitária O arquivo ppbio06 traz os dados brutos que serão usados nas análises. A matriz de dados brutos contendo 26 localidades em estações do ano diferentes (objetos) x 35 espécies (atributos), antes de qualquer modificação. Contagens de indivíduos com alta amplitude de variação, sugerido uso de matriz relativizada.
ppbio06h Matriz ambiental O arquivo ppbio06h traz os dados brutos que serão usados nas análises. A matriz de dados brutos contendo 26 localidades em estações diferentes (objetos) x 35 variáveis ambienteis (atributos) medidas em diferentes escalas espaciais, antes de qualquer modificação. Unidades de medição diferentes (cm, m, °C, mg/L, etc.), com uma alta amplitude de variação, sugerido uso de matriz transformada e/ou reescalada.
ppbio06 Matriz comunitária O arquivo ppbio06 traz os dados brutos que serão usados nessa análise. A matriz de dados brutos contendo 26 locais/ocasiões (objetos) x 35 espécies (atributos), antes de qualquer modificação. Contagens de indivíduos com alta amplitude de variação, sugerido uso de matriz relativizada.
ppbio06cpue Matriz comunitária O arquivo ppbio06cpue traz os valores depois de terem sidos ajustados pela Captura Por Unidade de Esforço (CPUE), onde o número de indivíduos de cada espécie em uma determinada UA é dividido pelo esforço de captura daquela UA. Isso significa que os dados foram relativizados pela CPUE. A matriz de dados brutos contendo 26 localidades em estações do ano diferentes (objetos) x 35 espécies (atributos), antes de qualquer modificação. Densidades de indivíduos (no. de indivíduos por Unidade de Esforço de Captura) com alta amplitude de variação, sugerido uso de matriz relativizada.

A planilha ppbio contém o delineamento amostral de um dos estudos do Projeto PPBio (Figura 12.2. Nas linhas são apresentadas as abreviações dos nomes das unidades amostrais (UA’s) e nas colunas são apresentados os nomes abreviados das espécies - temos portando uma matriz comunitária (Tabela 12.1). No corpo da planilha temos os valores para o tipo de dados amostrado. Quantitativo, semi-quatitativo ou qualitativo.
Qual desses tipos de dados você acha que é apresentado na planilha?

Associação entre a planilha de dados brutos do PPBio e o delineamento amostral do estudo.

Figura 12.2: Associação entre a planilha de dados brutos do PPBio e o delineamento amostral do estudo.

Várias das espécies nessa matriz tem grande importância ecológica, como é o caso de Astyanax bimaculatus [^A etimologia do gênero Astyanax vem da mitologia Grega. Heitor personagem da “Ilíada”, tinha um filho chamado Astíanax] (Figura 12.3), que é muito comum em rios intermitentes e serve de alimento para predadores maiores como a espécie Hoplias malabaricus [^Do Grego, hoplon, arma ou armadura, em referência aos dentes caniniformes muito desenvolvidos, e forte estrutura óssea na cabeça.] (Figura 12.4).

*Astyanax bimaculatus*, a espécie mais comum da matriz de dados ppbio. Peru, by Eakins, R. Fonte: <https://www.fishbase.se/summary/Astianax-bimaculatus.html>

Figura 12.3: Astyanax bimaculatus, a espécie mais comum da matriz de dados ppbio. Peru, by Eakins, R. Fonte: https://www.fishbase.se/summary/Astianax-bimaculatus.html

*Hoplias malabaricus*, espécie que cresce para se tornar um importante predador. Brazil, by Roselet, F.F.G. Fonte: <https://www.fishbase.se/summary/Hoplias-malabaricus.html>

Figura 12.4: Hoplias malabaricus, espécie que cresce para se tornar um importante predador. Brazil, by Roselet, F.F.G. Fonte: https://www.fishbase.se/summary/Hoplias-malabaricus.html

12.2 Organização básica

dev.off() #apaga os graficos, se houver algum
rm(list=ls(all=TRUE)) #limpa a memória
cat("\014") #limpa o console 

Instalando os pacotes necessários para esse módulo.

install.packages("vegan")
install.packages("moments")
install.packages("ggplot2")
install.packages("dplyr")
install.packages("tidyr")
install.packages("tibble")
install.packages("tidyverse") #atente para alguma msg de erro qdo executar essa linha
install.packages("forcats")
install.packages("iNEXT")
install.packages("openxlsx")
install.packages("gt")

Depois de instalados, carregue os pacotes a seguir no seu computador.

library(tibble); library(tidyverse); library(forcats); library(openxlsx); library(Rcpp)

Os códigos acima, são usados para instalar e carregar os pacotes necessários para este módulo. Esses códigos são comandos para instalar pacotes no R. Um pacote é uma coleção de funções, dados e documentação que ampliam as capacidades do R (R CRAN, (R. C. Team 2017)) e RStudio (R. S. Team 2022)). No exemplo acima, o pacote openxlsx permite ler e escrever arquivos Excel no R. Para instalar um pacote no R, você precisa usar a função install.packages().

Depois de instalar um pacote, você precisa carregá-lo na sua sessão R com a função library(). Por exemplo, para carregar o pacote openxlsx, você precisa executar a função library(openxlsx). Isso irá permitir que você use as funções do pacote na sua sessão R. Você precisa carregar um pacote toda vez que iniciar uma nova sessão R e quiser usar um pacote instalado.

Agora vamos definir o diretório de trabalho. Esse código é usado para obter e definir o diretório de trabalho atual no R. O comando getwd() retorna o caminho do diretório onde o R está lendo e salvando arquivos. O comando setwd() muda esse diretório de trabalho para o caminho especificado entre aspas. No seu caso, você deve ajustar o caminho para o seu próprio diretório de trabalho. Lembre de usar a barra “/” entre os diretórios. E não a contra-barra “\”.

getwd()
setwd("C:/Seu/Diretório/De/Trabalho")

12.3 Importando a planilha

Note que o símbolo # em programação R significa que o texto que vem depois dele é um comentário e não será executado pelo programa. Isso é útil para explicar o código ou deixar anotações.
- Ajuste a primeira linha do código abaixo para refletir “C:/Seu/Diretório/De/Trabalho/Planilha.xlsx”.
- Ajuste o parâmetro sheet = "Sheet1" para refletir a aba correta do arquivo .xlsx a ser importado.

#dir <- getwd() #criamos um vetor com o diretório  de trbalho 
#shell.exec(dir) #abre o diretorio de trabalho no Windows Explorer
ppbio <- read.xlsx("D:/Elvio/OneDrive/Disciplinas/_EcoNumerica/5.Matrizes/ppbio06.xlsx",
                   rowNames = T, colNames = T,
                   sheet = "Sheet1")
str(ppbio)
#View(ppbio)
ppbio[1:5,1:5] #[1:5,1:5] mostra apenas as linhas e colunas de 1 a 5.
## 'data.frame':    26 obs. of  35 variables:
##  $ ap-davis : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ as-bimac : num  1 99 194 19 23 142 5 46 206 16 ...
##  $ as-fasci : num  0 0 55 0 1 3 1 0 64 0 ...
##  $ ch-bimac : num  0 0 0 0 13 3 0 178 0 0 ...
##  $ ci-ocela : num  0 0 0 0 0 0 40 0 0 13 ...
##  $ ci-orien : num  0 0 5 0 0 69 9 0 25 24 ...
##  $ co-macro : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ co-heter : num  0 0 1 0 0 0 0 0 0 0 ...
##  $ cr-menez : num  0 0 14 0 0 4 0 0 8 0 ...
##  $ cu-lepid : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ cy-gilbe : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ ge-brasi : num  0 0 3 0 0 0 0 0 1 0 ...
##  $ he-margi : num  0 0 0 0 0 1 0 0 0 0 ...
##  $ ho-malab : num  0 0 1 5 0 17 10 2 31 4 ...
##  $ hy-pusar : num  0 0 9 2 0 43 2 0 11 0 ...
##  $ le-melan : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ le-piau  : num  0 0 3 0 0 1 3 0 2 1 ...
##  $ le-taeni : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ mo-costa : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ mo-lepid : num  0 1 39 0 0 1 0 0 0 0 ...
##  $ or-nilot : num  0 2 36 0 0 77 0 0 138 0 ...
##  $ pa-manag : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ pimel-sp : num  0 0 6 0 0 0 0 0 0 0 ...
##  $ po-retic : num  0 0 0 0 0 20 0 0 5 0 ...
##  $ po-vivip : num  0 0 47 15 0 221 32 0 326 10 ...
##  $ pr-brevi : num  9 0 5 0 1 15 5 2 164 0 ...
##  $ ps-rhomb : num  0 0 0 0 0 0 0 0 1 0 ...
##  $ ps-genise: num  0 0 0 0 0 0 0 0 1 0 ...
##  $ se-heter : num  0 0 40 14 4 60 0 0 38 0 ...
##  $ se-piaba : num  0 0 68 0 0 0 0 0 0 0 ...
##  $ se-spilo : num  0 0 0 0 0 0 0 0 1 0 ...
##  $ st-noton : num  0 0 1 0 0 25 0 0 115 0 ...
##  $ sy-marmo : num  0 0 0 0 0 0 1 0 0 0 ...
##  $ te-chalc : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ tr-signa : num  0 0 18 0 0 15 0 0 7 0 ...
##         ap-davis as-bimac as-fasci ch-bimac ci-ocela
## S-A-ZA1        0        1        0        0        0
## S-R-CC1        0       99        0        0        0
## S-R-CT1        0      194       55        0        0
## S-R-CP1        0       19        0        0        0
## S-A-TA1        0       23        1       13        0

Exibindo os dados importados (esses comando são “case-sensitive” ignore.case(object)).

#View(ppbio)
print(ppbio[1:8,1:8])
ppbio[1:10,1:10]
str(ppbio)
mode(ppbio)
class(ppbio)

12.4 Reset point

m_trab <- ppbio
#pat <- "^S"
#m_trab <- m_trab[!grepl(pat, rownames(m_trab)), ] #exclui quem começa com pat

Aqui cria-se um novo objeto do R (m_trab, ou a matriz de trabalho, para esse momento) que substitui a matriz de dados original, por uma nova matriz que pode ser a matriz relativizada, transformada, transposta, etc. Dessa forma, mantemos a matriz de dados original caso precisemos dela novamente (Veja a Tabela 12.1).

Abreviações

No interesse de sistematizar o código R das várias matrizes que são comumente usadas em uma AMD, a tabela a seguir (@ref(tab:241m_2)) resume seus tipos e abreviações.

(#tab:241m_2)Nomenclatura das matrizes em AMD em relação aos atributos das colunas
Nome Atributos (colunas) Abreviação no R
Matriz comunitaria Os atributos são táxons ou OTU’s (Unidades Taxonômicas Operacionais) (ex. espécies, gêneros, morfotipos) m_com
Matriz ambiental Os atributos são dados ambientais e variáveis físicas e químicas (ex. pH, condutividade, temperatura) m_amb
Matriz de habitat Os atributos são elementos da estrutura do habitat (ex. macróficas, algas, pedras, lama, etc) m_hab
Matriz bruta Os atributos ainda não receberam nenhum tipo de tratamento estatísco (valores brutos, como coletados) m_bruta
Matriz transposta Os atributos foram transpostos para as linhas m_t
Matriz relativizada Os atributos foram relativizados por um critério de tamanho ou de variação (ex. dividir os valores de cada coluna pela soma) m_rel, m_relcol, m_rellin
Matriz transformada Foi aplicado um operador matemático a todos os atributos (ex. raiz quadrada, log) m_trns, m_log10, m_asrq
Matriz de distâncias Matriz de m x m similaridades ou de distâncias (ex. Euclidiana, Manhattan, Bray-Curtis, etc) m_dists, m_euclid, m_bray
Matriz de trabalho Qualquer matriz que seja o foco da análise atual (ex. comunitária, relativizada, etc) m_trab
Matriz particionada Foram removidas linhas ou colunas (ex. linhas que são outliers e espécies zeradas) m_part
Base de dados Arquivo do Excel planilhado a partir de dados de campo ou de laboratório. Será manejada e particionada no R, para criar a Matriz bruta ppbio06.xlsx, zoorebio.xlsx, bentos06.xlsx

12.5 Transpor a matriz para trabalhar com as espécies

Vamos transpor a matriz para trabalharmos com as espécies. A função t transpõe a matriz. Só deve ser usada uma vez, pois se repetida com Ctrl+Enter continua “girando” a matriz. As espécies como colunas representam uma matriz comunitária e as espécies como linhas representam uma matriz (comunitária) transposta.

m_trab <- t(ppbio)
str(m_trab)
#View(m_trab)
m_trab
print(m_trab[1:5,1:5])
m_trab[1:5,1:5]
str(m_trab)
mode(m_trab)
class(m_trab)
##  num [1:35, 1:26] 0 1 0 0 0 0 0 0 0 0 ...
##  - attr(*, "dimnames")=List of 2
##   ..$ : chr [1:35] "ap-davis" "as-bimac" "as-fasci" "ch-bimac" ...
##   ..$ : chr [1:26] "S-A-ZA1" "S-R-CC1" "S-R-CT1" "S-R-CP1" ...
##           S-A-ZA1 S-R-CC1 S-R-CT1 S-R-CP1 S-A-TA1 S-R-CT2 S-R-CP2 S-A-TA2 S-R-CT3
## ap-davis        0       0       0       0       0       0       0       0       0
## as-bimac        1      99     194      19      23     142       5      46     206
## as-fasci        0       0      55       0       1       3       1       0      64
## ch-bimac        0       0       0       0      13       3       0     178       0
## ci-ocela        0       0       0       0       0       0      40       0       0
## ci-orien        0       0       5       0       0      69       9       0      25
## co-macro        0       0       0       0       0       0       0       0       0
## co-heter        0       0       1       0       0       0       0       0       0
## cr-menez        0       0      14       0       0       4       0       0       8
## cu-lepid        0       0       0       0       0       0       0       0       0
## cy-gilbe        0       0       0       0       0       0       0       0       0
## ge-brasi        0       0       3       0       0       0       0       0       1
## he-margi        0       0       0       0       0       1       0       0       0
## ho-malab        0       0       1       5       0      17      10       2      31
## hy-pusar        0       0       9       2       0      43       2       0      11
## le-melan        0       0       0       0       0       0       0       0       0
## le-piau         0       0       3       0       0       1       3       0       2
## le-taeni        0       0       0       0       0       0       0       0       0
## mo-costa        0       0       0       0       0       0       0       0       0
## mo-lepid        0       1      39       0       0       1       0       0       0
## or-nilot        0       2      36       0       0      77       0       0     138
## pa-manag        0       0       0       0       0       0       0       0       0
## pimel-sp        0       0       6       0       0       0       0       0       0
## po-retic        0       0       0       0       0      20       0       0       5
## po-vivip        0       0      47      15       0     221      32       0     326
## pr-brevi        9       0       5       0       1      15       5       2     164
## ps-rhomb        0       0       0       0       0       0       0       0       1
## ps-genise       0       0       0       0       0       0       0       0       1
## se-heter        0       0      40      14       4      60       0       0      38
## se-piaba        0       0      68       0       0       0       0       0       0
## se-spilo        0       0       0       0       0       0       0       0       1
## st-noton        0       0       1       0       0      25       0       0     115
## sy-marmo        0       0       0       0       0       0       1       0       0
## te-chalc        0       0       0       0       0       0       0       0       0
## tr-signa        0       0      18       0       0      15       0       0       7
##           S-R-CP3 S-A-TA3 S-R-CT4 S-R-CP4 S-A-TA4 B-A-MU1 B-R-ET1 B-A-GU1 B-R-PC2
## ap-davis        0       0       0       0       0       0       0       0       5
## as-bimac       16     234       0       0     394      12       3       2      44
## as-fasci        0       7       1       0       0       0       0       2       0
## ch-bimac        0     238       0       0     273       0       0       0       0
## ci-ocela       13       0       0      11       0       0       0       0       2
## ci-orien       24       0       5       6       0       0       0       0       0
## co-macro        0       2       0       0       0       0       0       0       0
## co-heter        0       0       0       0       0       0       0       0       0
## cr-menez        0       0       1       0       1       0       0       0       0
## cu-lepid        0       0       0       0       0       0       0       0       0
## cy-gilbe        0       0      50       0       0       0       0       0       0
## ge-brasi        0       0       3       0       1     190       0       7       8
## he-margi        0       0       1       0       0       0       0       0       0
## ho-malab        4      20       4       2       9       0       0       0       0
## hy-pusar        0       0       3       0       0       0       0       0       0
## le-melan        0       0       0       0       0       0       0       0       2
## le-piau         1       0       0       2       2       0       0       0       0
## le-taeni        0       0       0       0       0       0       0       0       1
## mo-costa        0       0       0       0       0       0       0       0       0
## mo-lepid        0       0       0       0       0       0       0       0       0
## or-nilot        0       0      73       0       1       6       8       3       5
## pa-manag        0       0       0       0       0       0       1      11       0
## pimel-sp        0       0       0       0       0       0       0       0       0
## po-retic        0       0       0       0       0       0      34       0       0
## po-vivip       10       0      28      80       0       0       0       0       0
## pr-brevi        0       0      59       0       3       0       0       0       9
## ps-rhomb        0       0       0       0       0       0       0       0       0
## ps-genise       0       0       0       0       0       0       0       0       0
## se-heter        0       0       3       3       0       0       0       0      10
## se-piaba        0       0       0       0       0       0       0       0       0
## se-spilo        0       0       0       0       0       0       0       0       0
## st-noton        0       0      64       0       0       0       0       0       0
## sy-marmo        0       0       0       0       0       0       0       0       0
## te-chalc        0       0       0       0       0       0       0       0      76
## tr-signa        0       0     141       0       0       0       0       0      23
##           B-A-MU2 B-A-GU2 B-R-PC3 B-A-MU3 B-A-GU3 B-R-PC4 B-A-MU4 B-A-GU4
## ap-davis        0       0      22       0       0       0       0       0
## as-bimac       99       0      75     511       6       7     235      13
## as-fasci        0       0       7       0       0      17       0       0
## ch-bimac        0       0       0       0       0       0       0       0
## ci-ocela        0       0       4       0       0       0       0       0
## ci-orien        0       0       0       0       0       0       0       0
## co-macro        0       0       0       0       0       0       0       0
## co-heter        0       0       0       0       0       0       0       0
## cr-menez        0       0       0       0       0       0       0       0
## cu-lepid        0       0      21       0       0       0       0       0
## cy-gilbe        0       0       0       0       0      81       0       0
## ge-brasi       67      23      16     145      32       5     509      10
## he-margi        0       0       0       0       0       0       0       0
## ho-malab        1       0       2       0       0       1       0       0
## hy-pusar        0       0       1       0       0       0       0       0
## le-melan        0       0       0       0       0       0       0       0
## le-piau         0       0       0       0       0       1       0       0
## le-taeni        0       0       0       0       0       0       0       0
## mo-costa        0       0       1       0       0       0       0       0
## mo-lepid        0       0       0       0       0       0       0       0
## or-nilot        1      36      65      11     247       9       1     129
## pa-manag        0     102       0       0     250       0       0     190
## pimel-sp        0       0       0       0       0       0       0       0
## po-retic       10       0       0      46       0       0     266       0
## po-vivip        8       0       0      48       0       0     163       0
## pr-brevi        0       0       6       1       0       0       0       0
## ps-rhomb        0       0       0       0       0       0       0       0
## ps-genise       0       0       0       0       0       0       0       0
## se-heter        0       0      93       0       0      31       0       0
## se-piaba        0       0       0       0       0       0       0       0
## se-spilo        0       0       0       0       0       0       0       0
## st-noton        0       0       0       0       0       0       0       0
## sy-marmo        0       0       0       0       0       0       0       0
## te-chalc        0       0      58       0       0       0       0       0
## tr-signa        0       0       0       0       0       4       0       0
##          S-A-ZA1 S-R-CC1 S-R-CT1 S-R-CP1 S-A-TA1
## ap-davis       0       0       0       0       0
## as-bimac       1      99     194      19      23
## as-fasci       0       0      55       0       1
## ch-bimac       0       0       0       0      13
## ci-ocela       0       0       0       0       0
##          S-A-ZA1 S-R-CC1 S-R-CT1 S-R-CP1 S-A-TA1
## ap-davis       0       0       0       0       0
## as-bimac       1      99     194      19      23
## as-fasci       0       0      55       0       1
## ch-bimac       0       0       0       0      13
## ci-ocela       0       0       0       0       0
##  num [1:35, 1:26] 0 1 0 0 0 0 0 0 0 0 ...
##  - attr(*, "dimnames")=List of 2
##   ..$ : chr [1:35] "ap-davis" "as-bimac" "as-fasci" "ch-bimac" ...
##   ..$ : chr [1:26] "S-A-ZA1" "S-R-CC1" "S-R-CT1" "S-R-CP1" ...
## [1] "numeric"
## [1] "matrix" "array"

12.5.1 Informações básicas da matriz

Agora podemos pedir ao R as informações básicas da matriz de trabalho (m_trab), como o número de observações ou tamanho do vetor (depende do tipo da matriz), número de observações igual a zero, número de observaçõoes maiores que zero e proporção de zeros na matriz.

range(m_trab) #menor e maior valores
length(m_trab) #no. de colunas
ncol(m_trab) #no. de N colunas
nrow(m_trab) #no. de M linhas
sum(lengths(m_trab)) #soma os nos. de colunas
length(as.matrix(m_trab)) #tamanho da matriz m x n
sum(m_trab == 0) #número de observações igual a zero
sum(m_trab > 0) #número de observações maiores que zero
#calculando a proporção de zeros na matriz
zeros <- (sum(m_trab == 0)/length(as.matrix(m_trab)))*100
zeros
## [1]   0 511
## [1] 910
## [1] 26
## [1] 35
## [1] 910
## [1] 910
## [1] 716
## [1] 194
## [1] 78.68132

Tabela que resume as informações geradas (Tabela 12.2).

##      Função Resultado
## 1     range   0 - 511
## 2    lenght       910
## 3    n cols        26
## 4  m linhas        35
## 5   Tamanho       910
## 6   Tamanho       910
## 7     Zeros       716
## 8 Nao zeros       194
## 9   % Zeros      78.7
Tabela 12.2: Resumo das informações sobre o tamanho da base de dados.
Função Resultado
range 0 - 511
lenght 910
n cols 26
m linhas 35
Tamanho 910
Tamanho 910
Zeros 716
Nao zeros 194
% Zeros 78.7

Ou seja, temos uma matriz de tamanho m x n igual a 35 objetos por 26 atributos, onde 78.68% dos valores da matriz são iguais a zero!

Agora de conhecimento dessas informações básicas podemos calcular os primeiros descritores da estrutura da comunidade a ser estudada.

12.6 Calculando os descritores da comunidade

Entre outras métricas, calcularemos os seguntes índices:

  1. Riqueza de Espécies:
  • A riqueza de espécies simplesmente se refere ao número total de espécies diferentes em uma comunidade. É uma medida fundamental da diversidade ecológica e reflete a variedade de formas de vida coexistentes em um ecossistema. Comunidades com alta riqueza de espécies têm um grande número de espécies diferentes, enquanto comunidades com baixa riqueza têm menos espécies.
  1. Índice de Diversidade de Simpson:
  • O índice de diversidade de Simpson (ou índice de Simpson) mede a probabilidade de escolher aleatoriamente duas vezes o mesmo indivíduo de uma comunidade. Quanto mais próximo de 1 for o índice de Simpson, menor é a diversidade, indicando que uma ou algumas espécies dominam a comunidade. Quanto mais próximo de 0 for o índice de Simpson, maior é a diversidade, indicando uma comunidade mais equilibrada.
  1. Índice de Diversidade de Shannon-Wiener:
  • O índice de Shannon-Wiener (ou índice de Shannon) leva em consideração a riqueza de espécies e a equitabilidade (distribuição uniforme das abundâncias das espécies). Ele mede a incerteza associada à identificação de uma espécie aleatória em uma comunidade. Quanto maior o índice de Shannon, maior é a diversidade, pois indica uma comunidade com várias espécies bem distribuídas em termos de abundância.
  1. Equitabilidade:
  • A equitabilidade é uma medida que avalia o quão uniformemente as abundâncias das diferentes espécies estão distribuídas em uma comunidade. Quanto maior a equitabilidade, mais igual é a distribuição das abundâncias, o que indica uma comunidade mais equilibrada.
  1. Abundância:
  • A abundância se refere ao número total de indivíduos de uma espécie em uma comunidade. É uma medida simples que indica quantos indivíduos de uma espécie específica estão presentes na comunidade.
  1. Abundância Relativa:
  • A abundância relativa é a proporção ou a fração da abundância de uma espécie em relação à abundância total de todas as espécies na comunidade. É uma medida que ajuda a entender a importância relativa de cada espécie na comunidade.
  1. Dominância de Espécies:
  • A dominância de espécies se refere à presença de uma ou algumas espécies que têm uma abundância significativamente maior do que as outras na comunidade. Comunidades com alta dominância são frequentemente menos diversas, pois algumas espécies dominantes podem suprimir o crescimento de outras.

12.6.1 Variabilidade

Primeiro a variabilidade estatística

#?apply
Sum <- rowSums(m_trab)
#ou
Sum <- apply(m_trab,1,sum)
Sum
## Media
Mean <- rowMeans(m_trab)
Mean
## Ou
Mean <- apply(m_trab,1,mean)
Mean
## Desvio padrão
DP <- apply(m_trab,1,sd)
DP
## Máximo
Max <- apply(m_trab,1,max)
Max 
## Mínimo
Min <- apply(m_trab,1,min)
Min
## Mínimo não-zero
MinZ <- apply(m_trab, 1, function(row) {
  non_zero_values <- row[row > 0]  # Filter out zero values
  if (length(non_zero_values) == 0) {
    return(0)  # If all values are zero, return 0
  } else {
    return(min(non_zero_values))  # Return the minimum of non-zero values
  }
})
MinZ
##  ap-davis  as-bimac  as-fasci  ch-bimac  ci-ocela  ci-orien  co-macro  co-heter 
##        27      2386       158       705        70       143         2         1 
##  cr-menez  cu-lepid  cy-gilbe  ge-brasi  he-margi  ho-malab  hy-pusar  le-melan 
##        28        21       131      1020         2       109        71         2 
##   le-piau  le-taeni  mo-costa  mo-lepid  or-nilot  pa-manag  pimel-sp  po-retic 
##        15         1         1        41       848       554         6       381 
##  po-vivip  pr-brevi  ps-rhomb ps-genise  se-heter  se-piaba  se-spilo  st-noton 
##       978       279         1         1       296        68         1       205 
##  sy-marmo  te-chalc  tr-signa 
##         1       134       208 
##    ap-davis    as-bimac    as-fasci    ch-bimac    ci-ocela    ci-orien 
##  1.03846154 91.76923077  6.07692308 27.11538462  2.69230769  5.50000000 
##    co-macro    co-heter    cr-menez    cu-lepid    cy-gilbe    ge-brasi 
##  0.07692308  0.03846154  1.07692308  0.80769231  5.03846154 39.23076923 
##    he-margi    ho-malab    hy-pusar    le-melan     le-piau    le-taeni 
##  0.07692308  4.19230769  2.73076923  0.07692308  0.57692308  0.03846154 
##    mo-costa    mo-lepid    or-nilot    pa-manag    pimel-sp    po-retic 
##  0.03846154  1.57692308 32.61538462 21.30769231  0.23076923 14.65384615 
##    po-vivip    pr-brevi    ps-rhomb   ps-genise    se-heter    se-piaba 
## 37.61538462 10.73076923  0.03846154  0.03846154 11.38461538  2.61538462 
##    se-spilo    st-noton    sy-marmo    te-chalc    tr-signa 
##  0.03846154  7.88461538  0.03846154  5.15384615  8.00000000 
##    ap-davis    as-bimac    as-fasci    ch-bimac    ci-ocela    ci-orien 
##  1.03846154 91.76923077  6.07692308 27.11538462  2.69230769  5.50000000 
##    co-macro    co-heter    cr-menez    cu-lepid    cy-gilbe    ge-brasi 
##  0.07692308  0.03846154  1.07692308  0.80769231  5.03846154 39.23076923 
##    he-margi    ho-malab    hy-pusar    le-melan     le-piau    le-taeni 
##  0.07692308  4.19230769  2.73076923  0.07692308  0.57692308  0.03846154 
##    mo-costa    mo-lepid    or-nilot    pa-manag    pimel-sp    po-retic 
##  0.03846154  1.57692308 32.61538462 21.30769231  0.23076923 14.65384615 
##    po-vivip    pr-brevi    ps-rhomb   ps-genise    se-heter    se-piaba 
## 37.61538462 10.73076923  0.03846154  0.03846154 11.38461538  2.61538462 
##    se-spilo    st-noton    sy-marmo    te-chalc    tr-signa 
##  0.03846154  7.88461538  0.03846154  5.15384615  8.00000000 
##    ap-davis    as-bimac    as-fasci    ch-bimac    ci-ocela    ci-orien 
##   4.3861671 132.4348316  16.2035134  75.8732242   8.2982853  14.6184815 
##    co-macro    co-heter    cr-menez    cu-lepid    cy-gilbe    ge-brasi 
##   0.3922323   0.1961161   3.1486261   4.1184388  18.3313519 106.3478473 
##    he-margi    ho-malab    hy-pusar    le-melan     le-piau    le-taeni 
##   0.2717465   7.6053625   8.6605205   0.3922323   0.9868364   0.1961161 
##    mo-costa    mo-lepid    or-nilot    pa-manag    pimel-sp    po-retic 
##   0.1961161   7.6376597  59.1452970  62.3928004   1.1766968  52.5242362 
##    po-vivip    pr-brevi    ps-rhomb   ps-genise    se-heter    se-piaba 
##  79.5004790  33.3892889   0.1961161   0.1961161  22.9905666  13.3358972 
##    se-spilo    st-noton    sy-marmo    te-chalc    tr-signa 
##   0.1961161  25.5582893   0.1961161  18.3841068  27.8280434 
##  ap-davis  as-bimac  as-fasci  ch-bimac  ci-ocela  ci-orien  co-macro  co-heter 
##        22       511        64       273        40        69         2         1 
##  cr-menez  cu-lepid  cy-gilbe  ge-brasi  he-margi  ho-malab  hy-pusar  le-melan 
##        14        21        81       509         1        31        43         2 
##   le-piau  le-taeni  mo-costa  mo-lepid  or-nilot  pa-manag  pimel-sp  po-retic 
##         3         1         1        39       247       250         6       266 
##  po-vivip  pr-brevi  ps-rhomb ps-genise  se-heter  se-piaba  se-spilo  st-noton 
##       326       164         1         1        93        68         1       115 
##  sy-marmo  te-chalc  tr-signa 
##         1        76       141 
##  ap-davis  as-bimac  as-fasci  ch-bimac  ci-ocela  ci-orien  co-macro  co-heter 
##         0         0         0         0         0         0         0         0 
##  cr-menez  cu-lepid  cy-gilbe  ge-brasi  he-margi  ho-malab  hy-pusar  le-melan 
##         0         0         0         0         0         0         0         0 
##   le-piau  le-taeni  mo-costa  mo-lepid  or-nilot  pa-manag  pimel-sp  po-retic 
##         0         0         0         0         0         0         0         0 
##  po-vivip  pr-brevi  ps-rhomb ps-genise  se-heter  se-piaba  se-spilo  st-noton 
##         0         0         0         0         0         0         0         0 
##  sy-marmo  te-chalc  tr-signa 
##         0         0         0 
##  ap-davis  as-bimac  as-fasci  ch-bimac  ci-ocela  ci-orien  co-macro  co-heter 
##         5         1         1         3         2         5         2         1 
##  cr-menez  cu-lepid  cy-gilbe  ge-brasi  he-margi  ho-malab  hy-pusar  le-melan 
##         1        21        50         1         1         1         1         2 
##   le-piau  le-taeni  mo-costa  mo-lepid  or-nilot  pa-manag  pimel-sp  po-retic 
##         1         1         1         1         1         1         6         5 
##  po-vivip  pr-brevi  ps-rhomb ps-genise  se-heter  se-piaba  se-spilo  st-noton 
##         8         1         1         1         3        68         1         1 
##  sy-marmo  te-chalc  tr-signa 
##         1        58         4

12.6.2 Riqueza

Atente para o fato de que a riqueza será a frequêcia de ocorrência na matrix transposta. Converte-se primeiro para matriz binária.

m_pa <- m_trab
m_pa[m_pa != 0] <- 1
rowSums(m_pa)
library(vegan)
bin <- decostand(m_trab,"pa")
bin[1:10, 1:10]
S <- apply(bin,1,sum)
S
#OU
Riqueza <- specnumber(m_trab)
Riqueza
Riqueza_total <- specnumber(colSums(m_trab))
Riqueza_total
##  ap-davis  as-bimac  as-fasci  ch-bimac  ci-ocela  ci-orien  co-macro  co-heter 
##         2        23        10         5         5         7         1         1 
##  cr-menez  cu-lepid  cy-gilbe  ge-brasi  he-margi  ho-malab  hy-pusar  le-melan 
##         5         1         2        15         2        14         7         1 
##   le-piau  le-taeni  mo-costa  mo-lepid  or-nilot  pa-manag  pimel-sp  po-retic 
##         8         1         1         3        18         5         1         6 
##  po-vivip  pr-brevi  ps-rhomb ps-genise  se-heter  se-piaba  se-spilo  st-noton 
##        11        12         1         1        10         1         1         4 
##  sy-marmo  te-chalc  tr-signa 
##         1         2         6 
##          S-A-ZA1 S-R-CC1 S-R-CT1 S-R-CP1 S-A-TA1 S-R-CT2 S-R-CP2 S-A-TA2 S-R-CT3
## ap-davis       0       0       0       0       0       0       0       0       0
## as-bimac       1       1       1       1       1       1       1       1       1
## as-fasci       0       0       1       0       1       1       1       0       1
## ch-bimac       0       0       0       0       1       1       0       1       0
## ci-ocela       0       0       0       0       0       0       1       0       0
## ci-orien       0       0       1       0       0       1       1       0       1
## co-macro       0       0       0       0       0       0       0       0       0
## co-heter       0       0       1       0       0       0       0       0       0
## cr-menez       0       0       1       0       0       1       0       0       1
## cu-lepid       0       0       0       0       0       0       0       0       0
##          S-R-CP3
## ap-davis       0
## as-bimac       1
## as-fasci       0
## ch-bimac       0
## ci-ocela       1
## ci-orien       1
## co-macro       0
## co-heter       0
## cr-menez       0
## cu-lepid       0
##  ap-davis  as-bimac  as-fasci  ch-bimac  ci-ocela  ci-orien  co-macro  co-heter 
##         2        23        10         5         5         7         1         1 
##  cr-menez  cu-lepid  cy-gilbe  ge-brasi  he-margi  ho-malab  hy-pusar  le-melan 
##         5         1         2        15         2        14         7         1 
##   le-piau  le-taeni  mo-costa  mo-lepid  or-nilot  pa-manag  pimel-sp  po-retic 
##         8         1         1         3        18         5         1         6 
##  po-vivip  pr-brevi  ps-rhomb ps-genise  se-heter  se-piaba  se-spilo  st-noton 
##        11        12         1         1        10         1         1         4 
##  sy-marmo  te-chalc  tr-signa 
##         1         2         6 
##  ap-davis  as-bimac  as-fasci  ch-bimac  ci-ocela  ci-orien  co-macro  co-heter 
##         2        23        10         5         5         7         1         1 
##  cr-menez  cu-lepid  cy-gilbe  ge-brasi  he-margi  ho-malab  hy-pusar  le-melan 
##         5         1         2        15         2        14         7         1 
##   le-piau  le-taeni  mo-costa  mo-lepid  or-nilot  pa-manag  pimel-sp  po-retic 
##         8         1         1         3        18         5         1         6 
##  po-vivip  pr-brevi  ps-rhomb ps-genise  se-heter  se-piaba  se-spilo  st-noton 
##        11        12         1         1        10         1         1         4 
##  sy-marmo  te-chalc  tr-signa 
##         1         2         6 
## [1] 26

12.7 Índices de Diversidade

12.7.1 Shannon

O índice de diversidade de Shannon ou Shannon–Weaver (or Shannon–Wiener) é uma medida de diversidade que leva em consideração tanto a riqueza de espécies quanto a uniformidade na distribuição dessas espécies (Dixon 2003; Oksanen et al. 2020). Este índice é definido por:

\[ H' = -\sum_{i} p_i\log_{b} p_i \] Onde:

  • \(H'\) é a entropia de Shannon.
  • \(p_i\) é a abundância proporcional da espécie \(i\).
  • \(b\) é a base do logaritmo.

É mais comum usar-se o logarítmo natural, embora pode-se argumentar que para o logarítmo de base = 2 (o que faz sentido mas nenhuma diferença)

Outra fórmula para calcular o índice de diversidade de Shannon é:

\[ H' = -\sum_{i=1}^{S} \left( \frac{n_i}{N} \times \ln\frac{n_i}{N} \right) \]

Onde:

  • \(H'\) é a entropia de Shannon (ou a diversidade de Shannon).
  • \(n_i\) é o número de indivíduos da espécie \(i\).
  • \(N\) é o número total de indivíduos na comunidade.
  • \(S\) é o número total de espécies na comunidade.

Esta fórmula mede a incerteza (ou entropia) na identificação de uma espécie selecionada aleatoriamente da comunidade. Quanto maior o valor de \(H'\), maior a diversidade da comunidade.

H <- diversity(m_trab, index = "shannon")
H
##  ap-davis  as-bimac  as-fasci  ch-bimac  ci-ocela  ci-orien  co-macro  co-heter 
## 0.4791656 2.4239775 1.4761308 1.1783625 1.1883832 1.4976803 0.0000000 0.0000000 
##  cr-menez  cu-lepid  cy-gilbe  ge-brasi  he-margi  ho-malab  hy-pusar  le-melan 
## 1.2205076 0.0000000 0.6648803 1.5668772 0.6931472 2.1167591 1.2492728 0.0000000 
##   le-piau  le-taeni  mo-costa  mo-lepid  or-nilot  pa-manag  pimel-sp  po-retic 
## 1.9913464 0.0000000 0.0000000 0.2287207 2.1072815 1.1268689 0.0000000 1.0288585 
##  po-vivip  pr-brevi  ps-rhomb ps-genise  se-heter  se-piaba  se-spilo  st-noton 
## 1.8633952 1.3708151 0.0000000 0.0000000 1.8675926 0.0000000 0.0000000 0.9702899 
##  sy-marmo  te-chalc  tr-signa 
## 0.0000000 0.6840978 1.0985693

12.7.2 Simpson

O índice de diversidade de Simpson é uma medida de diversidade que leva em consideração a riqueza de espécies e a abundância relativa de cada espécie em uma comunidade. A fórmula para calcular o índice de diversidade de Simpson é:

\[ D = 1 - \sum_{i=1}^{S} \left( \frac{n_i (n_i - 1)}{N (N - 1)} \right) \]

Onde:

  • \(D\) é o índice de diversidade de Simpson.
  • \(n_i\) é o número de indivíduos da espécie \(i\).
  • \(N\) é o número total de indivíduos na comunidade.
  • \(S\) é o número total de espécies na comunidade.

Esta fórmula fornece um valor entre 0 e 1, onde 0 indica uma comunidade com apenas uma espécie presente e 1 indica uma comunidade com uma distribuição uniforme de espécies.

Existem duas variantes do índice de Simpson baseado em \(D = \sum p_i^2\) (Dixon 2003; Oksanen et al. 2020; Hurlbert 1971):

  • Ao escolhermos simpson o R retorna \(1 - D\), e
  • ao escolhermos invsimpson o R retorna \(1/D\) .
D <- diversity(m_trab, "simpson")
D
D[is.na(D)] <- 0 #substitui NA ou NaN por 0
D
##   ap-davis   as-bimac   as-fasci   ch-bimac   ci-ocela   ci-orien   co-macro 
## 0.30178326 0.88451845 0.69860599 0.67197827 0.61020408 0.70027874 0.00000000 
##   co-heter   cr-menez   cu-lepid   cy-gilbe   ge-brasi   he-margi   ho-malab 
## 0.00000000 0.64540816 0.00000000 0.47200047 0.68977124 0.50000000 0.83982830 
##   hy-pusar   le-melan    le-piau   le-taeni   mo-costa   mo-lepid   or-nilot 
## 0.58956556 0.00000000 0.85333333 0.00000000 0.00000000 0.09399167 0.83992302 
##   pa-manag   pimel-sp   po-retic   po-vivip   pr-brevi   ps-rhomb  ps-genise 
## 0.64444343 0.00000000 0.48641164 0.79634160 0.60348659 0.00000000 0.00000000 
##   se-heter   se-piaba   se-spilo   st-noton   sy-marmo   te-chalc   tr-signa 
## 0.81071950 0.00000000 0.00000000 0.57294468 0.00000000 0.49097795 0.51405325 
##   ap-davis   as-bimac   as-fasci   ch-bimac   ci-ocela   ci-orien   co-macro 
## 0.30178326 0.88451845 0.69860599 0.67197827 0.61020408 0.70027874 0.00000000 
##   co-heter   cr-menez   cu-lepid   cy-gilbe   ge-brasi   he-margi   ho-malab 
## 0.00000000 0.64540816 0.00000000 0.47200047 0.68977124 0.50000000 0.83982830 
##   hy-pusar   le-melan    le-piau   le-taeni   mo-costa   mo-lepid   or-nilot 
## 0.58956556 0.00000000 0.85333333 0.00000000 0.00000000 0.09399167 0.83992302 
##   pa-manag   pimel-sp   po-retic   po-vivip   pr-brevi   ps-rhomb  ps-genise 
## 0.64444343 0.00000000 0.48641164 0.79634160 0.60348659 0.00000000 0.00000000 
##   se-heter   se-piaba   se-spilo   st-noton   sy-marmo   te-chalc   tr-signa 
## 0.81071950 0.00000000 0.00000000 0.57294468 0.00000000 0.49097795 0.51405325

12.7.3 Equitabilidade de Pielou

O índice de equitabilidade de Pielou é uma medida de uniformidade em uma distribuição de espécies (Pielou 1975). Sua fórmula é dada por:

\[ J' = \frac{H'}{\ln(S)} \]

Onde:

  • \(J'\) é o índice de equitabilidade de Pielou.
  • \(H'\) é a entropia de Shannon (ou a diversidade de Shannon), que é calculada como \(-\sum_{i=1}^{S} p_i \cdot \ln(p_i)\), onde \(S\) é o número total de espécies e \(p_i\) é a proporção da espécie \(i\).
  • \(\ln(S)\) é o logarítmo natural do número total de espécies na comunidade.

Esta fórmula fornece um valor entre 0 e 1, onde 0 indica uma distribuição completamente desigual onde uma comunidade apresenta uma única espécie dominante e 1 indica uma distribuição completamente equitativa onde todas as espécies têm a mesma abundância.

E <- H/log(specnumber(m_trab))
E
E[is.na(E)] <- 0 #substitui NA ou NaN por 0
E
##  ap-davis  as-bimac  as-fasci  ch-bimac  ci-ocela  ci-orien  co-macro  co-heter 
## 0.6912899 0.7730767 0.6410755 0.7321578 0.7383840 0.7696554       NaN       NaN 
##  cr-menez  cu-lepid  cy-gilbe  ge-brasi  he-margi  ho-malab  hy-pusar  le-melan 
## 0.7583440       NaN 0.9592195 0.5785997 1.0000000 0.8020891 0.6419992       NaN 
##   le-piau  le-taeni  mo-costa  mo-lepid  or-nilot  pa-manag  pimel-sp  po-retic 
## 0.9576352       NaN       NaN 0.2081906 0.7290694 0.7001630       NaN 0.5742169 
##  po-vivip  pr-brevi  ps-rhomb ps-genise  se-heter  se-piaba  se-spilo  st-noton 
## 0.7770962 0.5516566       NaN       NaN 0.8110852       NaN       NaN 0.6999162 
##  sy-marmo  te-chalc  tr-signa 
##       NaN 0.9869445 0.6131232 
##  ap-davis  as-bimac  as-fasci  ch-bimac  ci-ocela  ci-orien  co-macro  co-heter 
## 0.6912899 0.7730767 0.6410755 0.7321578 0.7383840 0.7696554 0.0000000 0.0000000 
##  cr-menez  cu-lepid  cy-gilbe  ge-brasi  he-margi  ho-malab  hy-pusar  le-melan 
## 0.7583440 0.0000000 0.9592195 0.5785997 1.0000000 0.8020891 0.6419992 0.0000000 
##   le-piau  le-taeni  mo-costa  mo-lepid  or-nilot  pa-manag  pimel-sp  po-retic 
## 0.9576352 0.0000000 0.0000000 0.2081906 0.7290694 0.7001630 0.0000000 0.5742169 
##  po-vivip  pr-brevi  ps-rhomb ps-genise  se-heter  se-piaba  se-spilo  st-noton 
## 0.7770962 0.5516566 0.0000000 0.0000000 0.8110852 0.0000000 0.0000000 0.6999162 
##  sy-marmo  te-chalc  tr-signa 
## 0.0000000 0.9869445 0.6131232

12.7.3.1 Assimetria e curtose

A assimetria mede a falta de simetria em uma distribuição de frequência. Uma distribuição é simétrica se as duas metades à esquerda e à direita da média são cópias espelhadas uma da outra. Se a distribuição não é simétrica, então é assimétrica. A assimetria pode ser positiva, negativa ou nula (simétrica). Uma assimetria positiva indica que a cauda da distribuição se estende mais para a direita em relação à média, enquanto uma assimetria negativa indica que a cauda da distribuição se estende mais para a esquerda em relação à média.

A curtose descreve o pico ou a “pontiagudez” de uma distribuição. Uma distribuição com alta curtose tem uma alta concentração de valores ao redor da média e caudas mais pesadas (ou seja, valores extremos são mais prováveis). Uma distribuição com baixa curtose é mais achatada e dispersa, com caudas mais leves. A curtose pode ser positiva (distribuição leptocúrtica, com alta concentração em torno da média e caudas pesadas), negativa (distribuição platicúrtica, com dispersão alta e caudas mais leves) ou nula (mesocúrtica, similar à distribuição normal).

Essas medidas são úteis para compreender as propriedades e características de diferentes conjuntos de dados e distribuições de frequência. Elas ajudam a compreender a forma e o comportamento dos dados em uma amostra ou população (Zar 1999).

library(moments)
## Warning: package 'moments' was built under R version 4.3.1
Assimetria <- apply(m_trab,1,skewness)
Assimetria
Curtose <- apply(m_trab,1,kurtosis)
Curtose
##  ap-davis  as-bimac  as-fasci  ch-bimac  ci-ocela  ci-orien  co-macro  co-heter 
##  4.469425  1.774738  2.959549  2.544388  3.796856  3.482201  4.800000  4.800000 
##  cr-menez  cu-lepid  cy-gilbe  ge-brasi  he-margi  ho-malab  hy-pusar  le-melan 
##  3.252387  4.800000  3.484076  3.638552  3.175426  2.282120  4.127075  4.800000 
##   le-piau  le-taeni  mo-costa  mo-lepid  or-nilot  pa-manag  pimel-sp  po-retic 
##  1.437653  4.800000  4.800000  4.790304  2.287297  2.867520  4.800000  4.462822 
##  po-vivip  pr-brevi  ps-rhomb ps-genise  se-heter  se-piaba  se-spilo  st-noton 
##  2.544468  4.046241  4.800000  4.800000  2.293389  4.800000  4.800000  3.419722 
##  sy-marmo  te-chalc  tr-signa 
##  4.800000  3.281874  4.442741 
##  ap-davis  as-bimac  as-fasci  ch-bimac  ci-ocela  ci-orien  co-macro  co-heter 
## 21.730097  5.556931 10.273303  7.736436 17.146010 15.065210 24.040000 24.040000 
##  cr-menez  cu-lepid  cy-gilbe  ge-brasi  he-margi  ho-malab  hy-pusar  le-melan 
## 12.820351 24.040000 13.776840 16.059988 11.083333  7.604321 19.499005 24.040000 
##   le-piau  le-taeni  mo-costa  mo-lepid  or-nilot  pa-manag  pimel-sp  po-retic 
##  3.655586 24.040000 24.040000 23.979582  7.972989  9.860393 24.040000 21.825541 
##  po-vivip  pr-brevi  ps-rhomb ps-genise  se-heter  se-piaba  se-spilo  st-noton 
##  8.674340 18.659676 24.040000 24.040000  7.676958 24.040000 24.040000 13.817921 
##  sy-marmo  te-chalc  tr-signa 
## 24.040000 12.021173 21.715543

12.7.3.2 Tabela de descritores

Muito confuso? Criamos na sequência uma tabela final com todos os descritores da comunidade e da normalidade.

12.7.3.2.1 Descritores da estrutura da comunidade: Espécies

Sum, soma; mean, média; DP, desvio padrão da média; Max, maior valor; Min, menor valor; S, riqueza (ou frequência de ocorrência na matriz transposta); E, índice de equitabilidade de Pielou (Pielou 1975); H, índice de diversidade de Shannon; D, índice de diversidade de Simpson (Hurlbert 1971). (Fórmulas aqui)

Descritores1 <- cbind(Sum, Mean, DP, Max, Min, MinZ, S, E, H, D)
Descritores1 <- as.data.frame(Descritores1)
Descritores1
#Descritores1 <- Descritores1 %>% rownames_to_column(var="Espécies") #da nome a primeira coluna
SomaTotalD <- apply(Descritores1,2,sum)
SomaTotalD
MediaTotalD <- apply(Descritores1,2,mean)
MediaTotalD
DPTotalD <- apply(Descritores1,2,sd)
DPTotalD
Descritores2 <- cbind(SomaTotalD, MediaTotalD, DPTotalD)
Descritores2 <- as.data.frame(Descritores2)
Descritores2 <- t(Descritores2)
Descritores2
DescritoresFinal <- rbind(Descritores1, Descritores2)
DescritoresFinal
DescritoresFinal <- round (DescritoresFinal, 2)
DescritoresFinal
##            Sum        Mean          DP Max Min MinZ  S         E         H
## ap-davis    27  1.03846154   4.3861671  22   0    5  2 0.6912899 0.4791656
## as-bimac  2386 91.76923077 132.4348316 511   0    1 23 0.7730767 2.4239775
## as-fasci   158  6.07692308  16.2035134  64   0    1 10 0.6410755 1.4761308
## ch-bimac   705 27.11538462  75.8732242 273   0    3  5 0.7321578 1.1783625
## ci-ocela    70  2.69230769   8.2982853  40   0    2  5 0.7383840 1.1883832
## ci-orien   143  5.50000000  14.6184815  69   0    5  7 0.7696554 1.4976803
## co-macro     2  0.07692308   0.3922323   2   0    2  1 0.0000000 0.0000000
## co-heter     1  0.03846154   0.1961161   1   0    1  1 0.0000000 0.0000000
## cr-menez    28  1.07692308   3.1486261  14   0    1  5 0.7583440 1.2205076
## cu-lepid    21  0.80769231   4.1184388  21   0   21  1 0.0000000 0.0000000
## cy-gilbe   131  5.03846154  18.3313519  81   0   50  2 0.9592195 0.6648803
## ge-brasi  1020 39.23076923 106.3478473 509   0    1 15 0.5785997 1.5668772
## he-margi     2  0.07692308   0.2717465   1   0    1  2 1.0000000 0.6931472
## ho-malab   109  4.19230769   7.6053625  31   0    1 14 0.8020891 2.1167591
## hy-pusar    71  2.73076923   8.6605205  43   0    1  7 0.6419992 1.2492728
## le-melan     2  0.07692308   0.3922323   2   0    2  1 0.0000000 0.0000000
## le-piau     15  0.57692308   0.9868364   3   0    1  8 0.9576352 1.9913464
## le-taeni     1  0.03846154   0.1961161   1   0    1  1 0.0000000 0.0000000
## mo-costa     1  0.03846154   0.1961161   1   0    1  1 0.0000000 0.0000000
## mo-lepid    41  1.57692308   7.6376597  39   0    1  3 0.2081906 0.2287207
## or-nilot   848 32.61538462  59.1452970 247   0    1 18 0.7290694 2.1072815
## pa-manag   554 21.30769231  62.3928004 250   0    1  5 0.7001630 1.1268689
## pimel-sp     6  0.23076923   1.1766968   6   0    6  1 0.0000000 0.0000000
## po-retic   381 14.65384615  52.5242362 266   0    5  6 0.5742169 1.0288585
## po-vivip   978 37.61538462  79.5004790 326   0    8 11 0.7770962 1.8633952
## pr-brevi   279 10.73076923  33.3892889 164   0    1 12 0.5516566 1.3708151
## ps-rhomb     1  0.03846154   0.1961161   1   0    1  1 0.0000000 0.0000000
## ps-genise    1  0.03846154   0.1961161   1   0    1  1 0.0000000 0.0000000
## se-heter   296 11.38461538  22.9905666  93   0    3 10 0.8110852 1.8675926
## se-piaba    68  2.61538462  13.3358972  68   0   68  1 0.0000000 0.0000000
## se-spilo     1  0.03846154   0.1961161   1   0    1  1 0.0000000 0.0000000
## st-noton   205  7.88461538  25.5582893 115   0    1  4 0.6999162 0.9702899
## sy-marmo     1  0.03846154   0.1961161   1   0    1  1 0.0000000 0.0000000
## te-chalc   134  5.15384615  18.3841068  76   0   58  2 0.9869445 0.6840978
## tr-signa   208  8.00000000  27.8280434 141   0    4  6 0.6131232 1.0985693
##                    D
## ap-davis  0.30178326
## as-bimac  0.88451845
## as-fasci  0.69860599
## ch-bimac  0.67197827
## ci-ocela  0.61020408
## ci-orien  0.70027874
## co-macro  0.00000000
## co-heter  0.00000000
## cr-menez  0.64540816
## cu-lepid  0.00000000
## cy-gilbe  0.47200047
## ge-brasi  0.68977124
## he-margi  0.50000000
## ho-malab  0.83982830
## hy-pusar  0.58956556
## le-melan  0.00000000
## le-piau   0.85333333
## le-taeni  0.00000000
## mo-costa  0.00000000
## mo-lepid  0.09399167
## or-nilot  0.83992302
## pa-manag  0.64444343
## pimel-sp  0.00000000
## po-retic  0.48641164
## po-vivip  0.79634160
## pr-brevi  0.60348659
## ps-rhomb  0.00000000
## ps-genise 0.00000000
## se-heter  0.81071950
## se-piaba  0.00000000
## se-spilo  0.00000000
## st-noton  0.57294468
## sy-marmo  0.00000000
## te-chalc  0.49097795
## tr-signa  0.51405325
##        Sum       Mean         DP        Max        Min       MinZ          S 
## 8895.00000  342.11538  807.30587 3484.00000    0.00000  262.00000  194.00000 
##          E          H          D 
##   16.69499   30.09298   14.31057 
##         Sum        Mean          DP         Max         Min        MinZ 
## 254.1428571   9.7747253  23.0658821  99.5428571   0.0000000   7.4857143 
##           S           E           H           D 
##   5.5428571   0.4769997   0.8597994   0.4088734 
##         Sum        Mean          DP         Max         Min        MinZ 
## 468.3865386  18.0148669  33.0609233 138.2715450   0.0000000  16.4573807 
##           S           E           H           D 
##   5.5590036   0.3757324   0.7784814   0.3354621 
##                   Sum       Mean        DP        Max Min       MinZ          S
## SomaTotalD  8895.0000 342.115385 807.30587 3484.00000   0 262.000000 194.000000
## MediaTotalD  254.1429   9.774725  23.06588   99.54286   0   7.485714   5.542857
## DPTotalD     468.3865  18.014867  33.06092  138.27155   0  16.457381   5.559004
##                      E          H          D
## SomaTotalD  16.6949878 30.0929803 14.3105692
## MediaTotalD  0.4769997  0.8597994  0.4088734
## DPTotalD     0.3757324  0.7784814  0.3354621
##                   Sum         Mean          DP        Max Min       MinZ
## ap-davis      27.0000   1.03846154   4.3861671   22.00000   0   5.000000
## as-bimac    2386.0000  91.76923077 132.4348316  511.00000   0   1.000000
## as-fasci     158.0000   6.07692308  16.2035134   64.00000   0   1.000000
## ch-bimac     705.0000  27.11538462  75.8732242  273.00000   0   3.000000
## ci-ocela      70.0000   2.69230769   8.2982853   40.00000   0   2.000000
## ci-orien     143.0000   5.50000000  14.6184815   69.00000   0   5.000000
## co-macro       2.0000   0.07692308   0.3922323    2.00000   0   2.000000
## co-heter       1.0000   0.03846154   0.1961161    1.00000   0   1.000000
## cr-menez      28.0000   1.07692308   3.1486261   14.00000   0   1.000000
## cu-lepid      21.0000   0.80769231   4.1184388   21.00000   0  21.000000
## cy-gilbe     131.0000   5.03846154  18.3313519   81.00000   0  50.000000
## ge-brasi    1020.0000  39.23076923 106.3478473  509.00000   0   1.000000
## he-margi       2.0000   0.07692308   0.2717465    1.00000   0   1.000000
## ho-malab     109.0000   4.19230769   7.6053625   31.00000   0   1.000000
## hy-pusar      71.0000   2.73076923   8.6605205   43.00000   0   1.000000
## le-melan       2.0000   0.07692308   0.3922323    2.00000   0   2.000000
## le-piau       15.0000   0.57692308   0.9868364    3.00000   0   1.000000
## le-taeni       1.0000   0.03846154   0.1961161    1.00000   0   1.000000
## mo-costa       1.0000   0.03846154   0.1961161    1.00000   0   1.000000
## mo-lepid      41.0000   1.57692308   7.6376597   39.00000   0   1.000000
## or-nilot     848.0000  32.61538462  59.1452970  247.00000   0   1.000000
## pa-manag     554.0000  21.30769231  62.3928004  250.00000   0   1.000000
## pimel-sp       6.0000   0.23076923   1.1766968    6.00000   0   6.000000
## po-retic     381.0000  14.65384615  52.5242362  266.00000   0   5.000000
## po-vivip     978.0000  37.61538462  79.5004790  326.00000   0   8.000000
## pr-brevi     279.0000  10.73076923  33.3892889  164.00000   0   1.000000
## ps-rhomb       1.0000   0.03846154   0.1961161    1.00000   0   1.000000
## ps-genise      1.0000   0.03846154   0.1961161    1.00000   0   1.000000
## se-heter     296.0000  11.38461538  22.9905666   93.00000   0   3.000000
## se-piaba      68.0000   2.61538462  13.3358972   68.00000   0  68.000000
## se-spilo       1.0000   0.03846154   0.1961161    1.00000   0   1.000000
## st-noton     205.0000   7.88461538  25.5582893  115.00000   0   1.000000
## sy-marmo       1.0000   0.03846154   0.1961161    1.00000   0   1.000000
## te-chalc     134.0000   5.15384615  18.3841068   76.00000   0  58.000000
## tr-signa     208.0000   8.00000000  27.8280434  141.00000   0   4.000000
## SomaTotalD  8895.0000 342.11538462 807.3058718 3484.00000   0 262.000000
## MediaTotalD  254.1429   9.77472527  23.0658821   99.54286   0   7.485714
## DPTotalD     468.3865  18.01486687  33.0609233  138.27155   0  16.457381
##                      S          E          H           D
## ap-davis      2.000000  0.6912899  0.4791656  0.30178326
## as-bimac     23.000000  0.7730767  2.4239775  0.88451845
## as-fasci     10.000000  0.6410755  1.4761308  0.69860599
## ch-bimac      5.000000  0.7321578  1.1783625  0.67197827
## ci-ocela      5.000000  0.7383840  1.1883832  0.61020408
## ci-orien      7.000000  0.7696554  1.4976803  0.70027874
## co-macro      1.000000  0.0000000  0.0000000  0.00000000
## co-heter      1.000000  0.0000000  0.0000000  0.00000000
## cr-menez      5.000000  0.7583440  1.2205076  0.64540816
## cu-lepid      1.000000  0.0000000  0.0000000  0.00000000
## cy-gilbe      2.000000  0.9592195  0.6648803  0.47200047
## ge-brasi     15.000000  0.5785997  1.5668772  0.68977124
## he-margi      2.000000  1.0000000  0.6931472  0.50000000
## ho-malab     14.000000  0.8020891  2.1167591  0.83982830
## hy-pusar      7.000000  0.6419992  1.2492728  0.58956556
## le-melan      1.000000  0.0000000  0.0000000  0.00000000
## le-piau       8.000000  0.9576352  1.9913464  0.85333333
## le-taeni      1.000000  0.0000000  0.0000000  0.00000000
## mo-costa      1.000000  0.0000000  0.0000000  0.00000000
## mo-lepid      3.000000  0.2081906  0.2287207  0.09399167
## or-nilot     18.000000  0.7290694  2.1072815  0.83992302
## pa-manag      5.000000  0.7001630  1.1268689  0.64444343
## pimel-sp      1.000000  0.0000000  0.0000000  0.00000000
## po-retic      6.000000  0.5742169  1.0288585  0.48641164
## po-vivip     11.000000  0.7770962  1.8633952  0.79634160
## pr-brevi     12.000000  0.5516566  1.3708151  0.60348659
## ps-rhomb      1.000000  0.0000000  0.0000000  0.00000000
## ps-genise     1.000000  0.0000000  0.0000000  0.00000000
## se-heter     10.000000  0.8110852  1.8675926  0.81071950
## se-piaba      1.000000  0.0000000  0.0000000  0.00000000
## se-spilo      1.000000  0.0000000  0.0000000  0.00000000
## st-noton      4.000000  0.6999162  0.9702899  0.57294468
## sy-marmo      1.000000  0.0000000  0.0000000  0.00000000
## te-chalc      2.000000  0.9869445  0.6840978  0.49097795
## tr-signa      6.000000  0.6131232  1.0985693  0.51405325
## SomaTotalD  194.000000 16.6949878 30.0929803 14.31056920
## MediaTotalD   5.542857  0.4769997  0.8597994  0.40887341
## DPTotalD      5.559004  0.3757324  0.7784814  0.33546207
##                 Sum   Mean     DP     Max Min   MinZ      S     E     H     D
## ap-davis      27.00   1.04   4.39   22.00   0   5.00   2.00  0.69  0.48  0.30
## as-bimac    2386.00  91.77 132.43  511.00   0   1.00  23.00  0.77  2.42  0.88
## as-fasci     158.00   6.08  16.20   64.00   0   1.00  10.00  0.64  1.48  0.70
## ch-bimac     705.00  27.12  75.87  273.00   0   3.00   5.00  0.73  1.18  0.67
## ci-ocela      70.00   2.69   8.30   40.00   0   2.00   5.00  0.74  1.19  0.61
## ci-orien     143.00   5.50  14.62   69.00   0   5.00   7.00  0.77  1.50  0.70
## co-macro       2.00   0.08   0.39    2.00   0   2.00   1.00  0.00  0.00  0.00
## co-heter       1.00   0.04   0.20    1.00   0   1.00   1.00  0.00  0.00  0.00
## cr-menez      28.00   1.08   3.15   14.00   0   1.00   5.00  0.76  1.22  0.65
## cu-lepid      21.00   0.81   4.12   21.00   0  21.00   1.00  0.00  0.00  0.00
## cy-gilbe     131.00   5.04  18.33   81.00   0  50.00   2.00  0.96  0.66  0.47
## ge-brasi    1020.00  39.23 106.35  509.00   0   1.00  15.00  0.58  1.57  0.69
## he-margi       2.00   0.08   0.27    1.00   0   1.00   2.00  1.00  0.69  0.50
## ho-malab     109.00   4.19   7.61   31.00   0   1.00  14.00  0.80  2.12  0.84
## hy-pusar      71.00   2.73   8.66   43.00   0   1.00   7.00  0.64  1.25  0.59
## le-melan       2.00   0.08   0.39    2.00   0   2.00   1.00  0.00  0.00  0.00
## le-piau       15.00   0.58   0.99    3.00   0   1.00   8.00  0.96  1.99  0.85
## le-taeni       1.00   0.04   0.20    1.00   0   1.00   1.00  0.00  0.00  0.00
## mo-costa       1.00   0.04   0.20    1.00   0   1.00   1.00  0.00  0.00  0.00
## mo-lepid      41.00   1.58   7.64   39.00   0   1.00   3.00  0.21  0.23  0.09
## or-nilot     848.00  32.62  59.15  247.00   0   1.00  18.00  0.73  2.11  0.84
## pa-manag     554.00  21.31  62.39  250.00   0   1.00   5.00  0.70  1.13  0.64
## pimel-sp       6.00   0.23   1.18    6.00   0   6.00   1.00  0.00  0.00  0.00
## po-retic     381.00  14.65  52.52  266.00   0   5.00   6.00  0.57  1.03  0.49
## po-vivip     978.00  37.62  79.50  326.00   0   8.00  11.00  0.78  1.86  0.80
## pr-brevi     279.00  10.73  33.39  164.00   0   1.00  12.00  0.55  1.37  0.60
## ps-rhomb       1.00   0.04   0.20    1.00   0   1.00   1.00  0.00  0.00  0.00
## ps-genise      1.00   0.04   0.20    1.00   0   1.00   1.00  0.00  0.00  0.00
## se-heter     296.00  11.38  22.99   93.00   0   3.00  10.00  0.81  1.87  0.81
## se-piaba      68.00   2.62  13.34   68.00   0  68.00   1.00  0.00  0.00  0.00
## se-spilo       1.00   0.04   0.20    1.00   0   1.00   1.00  0.00  0.00  0.00
## st-noton     205.00   7.88  25.56  115.00   0   1.00   4.00  0.70  0.97  0.57
## sy-marmo       1.00   0.04   0.20    1.00   0   1.00   1.00  0.00  0.00  0.00
## te-chalc     134.00   5.15  18.38   76.00   0  58.00   2.00  0.99  0.68  0.49
## tr-signa     208.00   8.00  27.83  141.00   0   4.00   6.00  0.61  1.10  0.51
## SomaTotalD  8895.00 342.12 807.31 3484.00   0 262.00 194.00 16.69 30.09 14.31
## MediaTotalD  254.14   9.77  23.07   99.54   0   7.49   5.54  0.48  0.86  0.41
## DPTotalD     468.39  18.01  33.06  138.27   0  16.46   5.56  0.38  0.78  0.34
#Fazendo uma tabela
library(gt)
df <- DescritoresFinal
ncol(df); nrow(df) #no. de N colunas x M linhas
df <- cbind(Spp = rownames(df), df)
gt(df, rowname_col = "Espécie", caption = "Descritores da diversidade por espécie (colunas). Sum, soma; mean, média; DP, desvio padrão da média; Max, maior valor; Min, menor valor; MinZ, menor valor não zero; S, riqueza (ou frequência de ocorrência na matriz transposta); E, índice de equitabilidade de Pielou; H, índice de diversidade de Shannon; D, índice de diversidade de Simpson.")
## [1] 10
## [1] 38
Tabela 12.3: Descritores da diversidade por espécie (colunas). Sum, soma; mean, média; DP, desvio padrão da média; Max, maior valor; Min, menor valor; MinZ, menor valor não zero; S, riqueza (ou frequência de ocorrência na matriz transposta); E, índice de equitabilidade de Pielou; H, índice de diversidade de Shannon; D, índice de diversidade de Simpson.
Spp Sum Mean DP Max Min MinZ S E H D
ap-davis 27.00 1.04 4.39 22.00 0 5.00 2.00 0.69 0.48 0.30
as-bimac 2386.00 91.77 132.43 511.00 0 1.00 23.00 0.77 2.42 0.88
as-fasci 158.00 6.08 16.20 64.00 0 1.00 10.00 0.64 1.48 0.70
ch-bimac 705.00 27.12 75.87 273.00 0 3.00 5.00 0.73 1.18 0.67
ci-ocela 70.00 2.69 8.30 40.00 0 2.00 5.00 0.74 1.19 0.61
ci-orien 143.00 5.50 14.62 69.00 0 5.00 7.00 0.77 1.50 0.70
co-macro 2.00 0.08 0.39 2.00 0 2.00 1.00 0.00 0.00 0.00
co-heter 1.00 0.04 0.20 1.00 0 1.00 1.00 0.00 0.00 0.00
cr-menez 28.00 1.08 3.15 14.00 0 1.00 5.00 0.76 1.22 0.65
cu-lepid 21.00 0.81 4.12 21.00 0 21.00 1.00 0.00 0.00 0.00
cy-gilbe 131.00 5.04 18.33 81.00 0 50.00 2.00 0.96 0.66 0.47
ge-brasi 1020.00 39.23 106.35 509.00 0 1.00 15.00 0.58 1.57 0.69
he-margi 2.00 0.08 0.27 1.00 0 1.00 2.00 1.00 0.69 0.50
ho-malab 109.00 4.19 7.61 31.00 0 1.00 14.00 0.80 2.12 0.84
hy-pusar 71.00 2.73 8.66 43.00 0 1.00 7.00 0.64 1.25 0.59
le-melan 2.00 0.08 0.39 2.00 0 2.00 1.00 0.00 0.00 0.00
le-piau 15.00 0.58 0.99 3.00 0 1.00 8.00 0.96 1.99 0.85
le-taeni 1.00 0.04 0.20 1.00 0 1.00 1.00 0.00 0.00 0.00
mo-costa 1.00 0.04 0.20 1.00 0 1.00 1.00 0.00 0.00 0.00
mo-lepid 41.00 1.58 7.64 39.00 0 1.00 3.00 0.21 0.23 0.09
or-nilot 848.00 32.62 59.15 247.00 0 1.00 18.00 0.73 2.11 0.84
pa-manag 554.00 21.31 62.39 250.00 0 1.00 5.00 0.70 1.13 0.64
pimel-sp 6.00 0.23 1.18 6.00 0 6.00 1.00 0.00 0.00 0.00
po-retic 381.00 14.65 52.52 266.00 0 5.00 6.00 0.57 1.03 0.49
po-vivip 978.00 37.62 79.50 326.00 0 8.00 11.00 0.78 1.86 0.80
pr-brevi 279.00 10.73 33.39 164.00 0 1.00 12.00 0.55 1.37 0.60
ps-rhomb 1.00 0.04 0.20 1.00 0 1.00 1.00 0.00 0.00 0.00
ps-genise 1.00 0.04 0.20 1.00 0 1.00 1.00 0.00 0.00 0.00
se-heter 296.00 11.38 22.99 93.00 0 3.00 10.00 0.81 1.87 0.81
se-piaba 68.00 2.62 13.34 68.00 0 68.00 1.00 0.00 0.00 0.00
se-spilo 1.00 0.04 0.20 1.00 0 1.00 1.00 0.00 0.00 0.00
st-noton 205.00 7.88 25.56 115.00 0 1.00 4.00 0.70 0.97 0.57
sy-marmo 1.00 0.04 0.20 1.00 0 1.00 1.00 0.00 0.00 0.00
te-chalc 134.00 5.15 18.38 76.00 0 58.00 2.00 0.99 0.68 0.49
tr-signa 208.00 8.00 27.83 141.00 0 4.00 6.00 0.61 1.10 0.51
SomaTotalD 8895.00 342.12 807.31 3484.00 0 262.00 194.00 16.69 30.09 14.31
MediaTotalD 254.14 9.77 23.07 99.54 0 7.49 5.54 0.48 0.86 0.41
DPTotalD 468.39 18.01 33.06 138.27 0 16.46 5.56 0.38 0.78 0.34
12.7.3.2.2 Descritores da normalidade

Agora tabelamos os descritores de normalidade

Normalidade1 <- cbind(Assimetria, Curtose)
Normalidade1 <- as.data.frame(Normalidade1)
Normalidade1
SomaTotalN <- apply(Normalidade1,2,sum)
SomaTotalN
MediaTotalN <- apply(Normalidade1,2,mean)
MediaTotalN
DPTotalN <- apply(Normalidade1,2,sd)
DPTotalN
Normalidade2<-cbind(SomaTotalN, MediaTotalN, DPTotalN)
Normalidade2<-as.data.frame(Normalidade2)
Normalidade2 <- t(Normalidade2) #"t" transpoe a matriz
Normalidade2
NormalidadeFinal <- rbind(Normalidade1, Normalidade2)
NormalidadeFinal
NormalidadeFinal <- round(NormalidadeFinal, 2)
NormalidadeFinal
##           Assimetria   Curtose
## ap-davis    4.469425 21.730097
## as-bimac    1.774738  5.556931
## as-fasci    2.959549 10.273303
## ch-bimac    2.544388  7.736436
## ci-ocela    3.796856 17.146010
## ci-orien    3.482201 15.065210
## co-macro    4.800000 24.040000
## co-heter    4.800000 24.040000
## cr-menez    3.252387 12.820351
## cu-lepid    4.800000 24.040000
## cy-gilbe    3.484076 13.776840
## ge-brasi    3.638552 16.059988
## he-margi    3.175426 11.083333
## ho-malab    2.282120  7.604321
## hy-pusar    4.127075 19.499005
## le-melan    4.800000 24.040000
## le-piau     1.437653  3.655586
## le-taeni    4.800000 24.040000
## mo-costa    4.800000 24.040000
## mo-lepid    4.790304 23.979582
## or-nilot    2.287297  7.972989
## pa-manag    2.867520  9.860393
## pimel-sp    4.800000 24.040000
## po-retic    4.462822 21.825541
## po-vivip    2.544468  8.674340
## pr-brevi    4.046241 18.659676
## ps-rhomb    4.800000 24.040000
## ps-genise   4.800000 24.040000
## se-heter    2.293389  7.676958
## se-piaba    4.800000 24.040000
## se-spilo    4.800000 24.040000
## st-noton    3.419722 13.817921
## sy-marmo    4.800000 24.040000
## te-chalc    3.281874 12.021173
## tr-signa    4.442741 21.715543
## Assimetria    Curtose 
##   132.4608   596.6915 
## Assimetria    Curtose 
##   3.784595  17.048329 
## Assimetria    Curtose 
##   1.043802   6.944634 
##             Assimetria    Curtose
## SomaTotalN  132.460824 596.691528
## MediaTotalN   3.784595  17.048329
## DPTotalN      1.043802   6.944634
##             Assimetria    Curtose
## ap-davis      4.469425  21.730097
## as-bimac      1.774738   5.556931
## as-fasci      2.959549  10.273303
## ch-bimac      2.544388   7.736436
## ci-ocela      3.796856  17.146010
## ci-orien      3.482201  15.065210
## co-macro      4.800000  24.040000
## co-heter      4.800000  24.040000
## cr-menez      3.252387  12.820351
## cu-lepid      4.800000  24.040000
## cy-gilbe      3.484076  13.776840
## ge-brasi      3.638552  16.059988
## he-margi      3.175426  11.083333
## ho-malab      2.282120   7.604321
## hy-pusar      4.127075  19.499005
## le-melan      4.800000  24.040000
## le-piau       1.437653   3.655586
## le-taeni      4.800000  24.040000
## mo-costa      4.800000  24.040000
## mo-lepid      4.790304  23.979582
## or-nilot      2.287297   7.972989
## pa-manag      2.867520   9.860393
## pimel-sp      4.800000  24.040000
## po-retic      4.462822  21.825541
## po-vivip      2.544468   8.674340
## pr-brevi      4.046241  18.659676
## ps-rhomb      4.800000  24.040000
## ps-genise     4.800000  24.040000
## se-heter      2.293389   7.676958
## se-piaba      4.800000  24.040000
## se-spilo      4.800000  24.040000
## st-noton      3.419722  13.817921
## sy-marmo      4.800000  24.040000
## te-chalc      3.281874  12.021173
## tr-signa      4.442741  21.715543
## SomaTotalN  132.460824 596.691528
## MediaTotalN   3.784595  17.048329
## DPTotalN      1.043802   6.944634
##             Assimetria Curtose
## ap-davis          4.47   21.73
## as-bimac          1.77    5.56
## as-fasci          2.96   10.27
## ch-bimac          2.54    7.74
## ci-ocela          3.80   17.15
## ci-orien          3.48   15.07
## co-macro          4.80   24.04
## co-heter          4.80   24.04
## cr-menez          3.25   12.82
## cu-lepid          4.80   24.04
## cy-gilbe          3.48   13.78
## ge-brasi          3.64   16.06
## he-margi          3.18   11.08
## ho-malab          2.28    7.60
## hy-pusar          4.13   19.50
## le-melan          4.80   24.04
## le-piau           1.44    3.66
## le-taeni          4.80   24.04
## mo-costa          4.80   24.04
## mo-lepid          4.79   23.98
## or-nilot          2.29    7.97
## pa-manag          2.87    9.86
## pimel-sp          4.80   24.04
## po-retic          4.46   21.83
## po-vivip          2.54    8.67
## pr-brevi          4.05   18.66
## ps-rhomb          4.80   24.04
## ps-genise         4.80   24.04
## se-heter          2.29    7.68
## se-piaba          4.80   24.04
## se-spilo          4.80   24.04
## st-noton          3.42   13.82
## sy-marmo          4.80   24.04
## te-chalc          3.28   12.02
## tr-signa          4.44   21.72
## SomaTotalN      132.46  596.69
## MediaTotalN       3.78   17.05
## DPTotalN          1.04    6.94

A função fix(nome da matriz) dá acesso ao grid da matriz criada para manipulação dos dados numéricos.

#Fazendo uma tabela
nf <- NormalidadeFinal
ncol(nf); nrow(nf) #no. de N colunas x M linhas
nf <- cbind(Spp = rownames(nf), nf)
gt(nf, rowname_col = "Espécie", caption = "Descritores da normalidade por espécie (coluna)")
## [1] 2
## [1] 38
Tabela 12.4: Descritores da normalidade por espécie (coluna)
Spp Assimetria Curtose
ap-davis 4.47 21.73
as-bimac 1.77 5.56
as-fasci 2.96 10.27
ch-bimac 2.54 7.74
ci-ocela 3.80 17.15
ci-orien 3.48 15.07
co-macro 4.80 24.04
co-heter 4.80 24.04
cr-menez 3.25 12.82
cu-lepid 4.80 24.04
cy-gilbe 3.48 13.78
ge-brasi 3.64 16.06
he-margi 3.18 11.08
ho-malab 2.28 7.60
hy-pusar 4.13 19.50
le-melan 4.80 24.04
le-piau 1.44 3.66
le-taeni 4.80 24.04
mo-costa 4.80 24.04
mo-lepid 4.79 23.98
or-nilot 2.29 7.97
pa-manag 2.87 9.86
pimel-sp 4.80 24.04
po-retic 4.46 21.83
po-vivip 2.54 8.67
pr-brevi 4.05 18.66
ps-rhomb 4.80 24.04
ps-genise 4.80 24.04
se-heter 2.29 7.68
se-piaba 4.80 24.04
se-spilo 4.80 24.04
st-noton 3.42 13.82
sy-marmo 4.80 24.04
te-chalc 3.28 12.02
tr-signa 4.44 21.72
SomaTotalN 132.46 596.69
MediaTotalN 3.78 17.05
DPTotalN 1.04 6.94

12.7.3.3 Lidando com células vazias

Em R, NaN (Not a Number) e NA (Not Available) são valores especiais que representam dados ausentes ou valores inválidos em um vetor, matriz, data frame ou outra estrutura de dados.

  • NaN (Not a Number): É usado para representar resultados inválidos em operações matemáticas, como a divisão por zero ou a operação de raiz quadrada de um número negativo.

  • NA (Not Available): É usado para indicar dados ausentes. Pode ser usado em contextos onde o valor real está ausente ou desconhecido.

Em muitas operações, o NA é tratado como um valor especial que propagará em outras operações. Isso significa que se uma operação é realizada com um ou mais valores NA, o resultado geralmente será NA. Por outro lado, NaN é um valor específico que indica um resultado matematicamente indefinido ou inválido.

Por exemplo, ao realizar operações em um vetor que contém NA, o resultado será NA para qualquer operação que envolva um valor NA:

x <- c(1, 2, NA, 4)
mean(x) # Resultado será NA porque há um valor NA no vetor
## [1] NA

Por outro lado, NaN resulta de operações matemáticas inválidas:

0/0 # Resultado será NaN, pois a divisão por zero é indefinida
sqrt(-1) # Resultado será NaN, pois não há raiz quadrada real de um número negativo
## Warning in sqrt(-1): NaNs produced
## [1] NaN
## [1] NaN

Em resumo, enquanto NA indica dados ausentes ou não disponíveis, NaN indica resultados de operações matematicamente inválidos.

12.7.3.3.1 Salvando as tabelas criadas em .txt direto no diretório de trabalho
write.table(data.frame("Spp"=rownames(DescritoresFinal),
                       DescritoresFinal),
            "DescritoresSPP.txt",
            row.names=FALSE,
            sep="\t")
write.table(data.frame("Spp"=rownames(NormalidadeFinal),
                       NormalidadeFinal),
            "NormalidadeSPP.txt",
            row.names=FALSE,
            sep="\t")

Agora é necessário voltar à matriz comunitária (antes de ter sido transposta), antes de continuarmos a análise, porque as análises anteriores também precisam ser refeitas com a matriz não transposta. A seguir confere-se se está sendo usada a matriz comunitária com as espécies nas colunas.

Para ver o código dos descritores da estrutura da comunidade para as Unidades Amostrais (UA’s), matriz não transposta, veja Descritores da estrutura da comunidade: UA’s nos apêndices.

m_trab
##           S-A-ZA1 S-R-CC1 S-R-CT1 S-R-CP1 S-A-TA1 S-R-CT2 S-R-CP2 S-A-TA2 S-R-CT3
## ap-davis        0       0       0       0       0       0       0       0       0
## as-bimac        1      99     194      19      23     142       5      46     206
## as-fasci        0       0      55       0       1       3       1       0      64
## ch-bimac        0       0       0       0      13       3       0     178       0
## ci-ocela        0       0       0       0       0       0      40       0       0
## ci-orien        0       0       5       0       0      69       9       0      25
## co-macro        0       0       0       0       0       0       0       0       0
## co-heter        0       0       1       0       0       0       0       0       0
## cr-menez        0       0      14       0       0       4       0       0       8
## cu-lepid        0       0       0       0       0       0       0       0       0
## cy-gilbe        0       0       0       0       0       0       0       0       0
## ge-brasi        0       0       3       0       0       0       0       0       1
## he-margi        0       0       0       0       0       1       0       0       0
## ho-malab        0       0       1       5       0      17      10       2      31
## hy-pusar        0       0       9       2       0      43       2       0      11
## le-melan        0       0       0       0       0       0       0       0       0
## le-piau         0       0       3       0       0       1       3       0       2
## le-taeni        0       0       0       0       0       0       0       0       0
## mo-costa        0       0       0       0       0       0       0       0       0
## mo-lepid        0       1      39       0       0       1       0       0       0
## or-nilot        0       2      36       0       0      77       0       0     138
## pa-manag        0       0       0       0       0       0       0       0       0
## pimel-sp        0       0       6       0       0       0       0       0       0
## po-retic        0       0       0       0       0      20       0       0       5
## po-vivip        0       0      47      15       0     221      32       0     326
## pr-brevi        9       0       5       0       1      15       5       2     164
## ps-rhomb        0       0       0       0       0       0       0       0       1
## ps-genise       0       0       0       0       0       0       0       0       1
## se-heter        0       0      40      14       4      60       0       0      38
## se-piaba        0       0      68       0       0       0       0       0       0
## se-spilo        0       0       0       0       0       0       0       0       1
## st-noton        0       0       1       0       0      25       0       0     115
## sy-marmo        0       0       0       0       0       0       1       0       0
## te-chalc        0       0       0       0       0       0       0       0       0
## tr-signa        0       0      18       0       0      15       0       0       7
##           S-R-CP3 S-A-TA3 S-R-CT4 S-R-CP4 S-A-TA4 B-A-MU1 B-R-ET1 B-A-GU1 B-R-PC2
## ap-davis        0       0       0       0       0       0       0       0       5
## as-bimac       16     234       0       0     394      12       3       2      44
## as-fasci        0       7       1       0       0       0       0       2       0
## ch-bimac        0     238       0       0     273       0       0       0       0
## ci-ocela       13       0       0      11       0       0       0       0       2
## ci-orien       24       0       5       6       0       0       0       0       0
## co-macro        0       2       0       0       0       0       0       0       0
## co-heter        0       0       0       0       0       0       0       0       0
## cr-menez        0       0       1       0       1       0       0       0       0
## cu-lepid        0       0       0       0       0       0       0       0       0
## cy-gilbe        0       0      50       0       0       0       0       0       0
## ge-brasi        0       0       3       0       1     190       0       7       8
## he-margi        0       0       1       0       0       0       0       0       0
## ho-malab        4      20       4       2       9       0       0       0       0
## hy-pusar        0       0       3       0       0       0       0       0       0
## le-melan        0       0       0       0       0       0       0       0       2
## le-piau         1       0       0       2       2       0       0       0       0
## le-taeni        0       0       0       0       0       0       0       0       1
## mo-costa        0       0       0       0       0       0       0       0       0
## mo-lepid        0       0       0       0       0       0       0       0       0
## or-nilot        0       0      73       0       1       6       8       3       5
## pa-manag        0       0       0       0       0       0       1      11       0
## pimel-sp        0       0       0       0       0       0       0       0       0
## po-retic        0       0       0       0       0       0      34       0       0
## po-vivip       10       0      28      80       0       0       0       0       0
## pr-brevi        0       0      59       0       3       0       0       0       9
## ps-rhomb        0       0       0       0       0       0       0       0       0
## ps-genise       0       0       0       0       0       0       0       0       0
## se-heter        0       0       3       3       0       0       0       0      10
## se-piaba        0       0       0       0       0       0       0       0       0
## se-spilo        0       0       0       0       0       0       0       0       0
## st-noton        0       0      64       0       0       0       0       0       0
## sy-marmo        0       0       0       0       0       0       0       0       0
## te-chalc        0       0       0       0       0       0       0       0      76
## tr-signa        0       0     141       0       0       0       0       0      23
##           B-A-MU2 B-A-GU2 B-R-PC3 B-A-MU3 B-A-GU3 B-R-PC4 B-A-MU4 B-A-GU4
## ap-davis        0       0      22       0       0       0       0       0
## as-bimac       99       0      75     511       6       7     235      13
## as-fasci        0       0       7       0       0      17       0       0
## ch-bimac        0       0       0       0       0       0       0       0
## ci-ocela        0       0       4       0       0       0       0       0
## ci-orien        0       0       0       0       0       0       0       0
## co-macro        0       0       0       0       0       0       0       0
## co-heter        0       0       0       0       0       0       0       0
## cr-menez        0       0       0       0       0       0       0       0
## cu-lepid        0       0      21       0       0       0       0       0
## cy-gilbe        0       0       0       0       0      81       0       0
## ge-brasi       67      23      16     145      32       5     509      10
## he-margi        0       0       0       0       0       0       0       0
## ho-malab        1       0       2       0       0       1       0       0
## hy-pusar        0       0       1       0       0       0       0       0
## le-melan        0       0       0       0       0       0       0       0
## le-piau         0       0       0       0       0       1       0       0
## le-taeni        0       0       0       0       0       0       0       0
## mo-costa        0       0       1       0       0       0       0       0
## mo-lepid        0       0       0       0       0       0       0       0
## or-nilot        1      36      65      11     247       9       1     129
## pa-manag        0     102       0       0     250       0       0     190
## pimel-sp        0       0       0       0       0       0       0       0
## po-retic       10       0       0      46       0       0     266       0
## po-vivip        8       0       0      48       0       0     163       0
## pr-brevi        0       0       6       1       0       0       0       0
## ps-rhomb        0       0       0       0       0       0       0       0
## ps-genise       0       0       0       0       0       0       0       0
## se-heter        0       0      93       0       0      31       0       0
## se-piaba        0       0       0       0       0       0       0       0
## se-spilo        0       0       0       0       0       0       0       0
## st-noton        0       0       0       0       0       0       0       0
## sy-marmo        0       0       0       0       0       0       0       0
## te-chalc        0       0      58       0       0       0       0       0
## tr-signa        0       0       0       0       0       4       0       0
m_trab <- ppbio

Note que em uma matriz comunitária (onde os atributos são as espécies), a matriz transposta vai conter as unidades amostrais como colunas e espécies como linhas. Não tendo a mesma interpretação de matriz transposta em matemática.

Agora faremos uma série de gráficos para a matriz comunitária.

12.8 Gráficos descritivos

12.8.1 Série de Hill e pefil da diversidade

Pode-se utilizar uma série de Hill ao invés dos índices específicos de diversidade. Assim, quanto maior o valor de q (definido em scales), maior será o peso para a equabilidade. Quanto mais próximo de zero, maior o peso para riqueza. Quando q = 0, o valor de Hill é igual a riqueza de espécies.

Hill <- renyi(m_trab,
              scales = c(0:5),
              hill = TRUE)
Hill
##          0        1        2        3        4        5
## S-A-ZA1  2 1.384145 1.219512 1.170411 1.150768 1.140762
## S-R-CC1  3 1.163476 1.060983 1.045792 1.040607 1.038021
## S-R-CT1 18 8.433432 5.644824 4.479923 3.925407 3.628965
## S-R-CP1  5 4.089106 3.729963 3.562264 3.464767 3.397679
## S-A-TA1  5 2.988203 2.463687 2.265900 2.160258 2.093130
## S-R-CT2 17 8.120284 5.912807 4.995084 4.517360 4.233135
## S-R-CP2 10 5.475674 4.064111 3.571020 3.347621 3.223289
## S-A-TA2  4 1.820866 1.537624 1.437328 1.389021 1.362287
## S-R-CT3 18 7.820420 6.079509 5.349788 4.920580 4.635690
## S-R-CP3  6 4.641083 4.135957 3.852830 3.659934 3.518793
## S-A-TA3  5 2.507947 2.244026 2.186542 2.165167 2.154376
## S-R-CT4 14 6.554517 5.259698 4.665939 4.284640 4.026809
## S-R-CP4  6 2.359044 1.645269 1.479932 1.418625 1.388109
## S-A-TA4  8 2.249743 2.035378 1.981428 1.947091 1.920271
## B-A-MU1  3 1.418412 1.192503 1.145257 1.128263 1.119791
## B-R-ET1  4 2.200997 1.720325 1.562987 1.494812 1.458881
## B-A-GU1  5 3.959865 3.342246 3.016650 2.834369 2.720943
## B-R-PC2 11 5.630175 4.005266 3.427912 3.151799 2.991159
## B-A-MU2  6 2.863745 2.393193 2.248679 2.175626 2.127807
## B-A-GU2  3 2.464739 2.119634 1.930295 1.826854 1.766551
## B-R-PC3 13 7.253371 5.945359 5.447786 5.182436 5.009929
## B-A-MU3  6 2.710687 2.025352 1.799132 1.699897 1.647087
## B-A-GU3  4 2.537469 2.297723 2.232385 2.206183 2.192731
## B-R-PC4  9 4.374404 3.048096 2.586659 2.377604 2.263942
## B-A-MU4  5 3.672499 3.348321 3.103452 2.925311 2.799120
## B-A-GU4  4 2.514025 2.206452 2.107190 2.053368 2.015850

Podemos mapear isso em um gráfico de perfil de diversidade

library(ggplot2)
library(tidyr)
library(tidyverse)
grafico1 <- Hill %>%  
  rownames_to_column() %>% 
  pivot_longer(-rowname) %>% 
  mutate(name = factor(name, name[1:length(Hill)])) %>% 
  ggplot(aes(x = name, y = value, group = rowname,
             col = rowname)) +
  geom_point(size = 2) +
  geom_line(size = 1) +
  xlab("Parâmetro de ordem de diversidade (q)") +
  ylab("Diversidade") +
  labs(col = "Locais") +
  theme_bw() +
  theme(text = element_text(size = 10)) #ajustar a fonte caso nao caiba no output html 
grafico1
Mapeamento dos pontos de coleta em um gráfico de perfil de diversidade.

Figura 12.5: Mapeamento dos pontos de coleta em um gráfico de perfil de diversidade.

ggsave(grafico1, dpi = 300, filename = "fig-hill.png")
## Saving 7 x 5 in image

12.9 Distribuição de abundância

Uma maneira de observar a diversidade de espécies é usando um gráfico de distribuição de abundâncias de uma comunidade, como mostrado a seguir. Note que aqui utiliza-se as abundâncias totais das espécies (Figura 12.6), mas é possível fazer por linha, basta substituir o objeto abund pela abundância de uma linha. Como na linha marcada com o #.

abund <- colSums(m_trab)

Na primeira linha do código abaixo, retira-se o # do início da linha para rodar a distribuição de abundância apenas para o local (linha) 1 comunidade[1,]. Pode-se mudar o número para o local de interesse.

O código a seguir produzirá o gráfico para o local escolhido.

#abund <- m_trab[1, ] #escolhe a primeira linha para a distribuição de abundância
df <- data.frame(sp = colnames(m_trab), 
                 abun = abund) 
grafico2 <- ggplot(df, aes(fct_reorder(sp, -abun),
                           abun, group = 1)) +
  geom_col() +
  geom_line(col = "red", linetype = "dashed") + 
  geom_point(col = "red") +
  xlab("Espécies") +
  ylab("Abundância") +
  theme_bw() +
  theme(axis.text.x = element_text(
    angle = 45,
    hjust = 1,
    face = "italic"))
grafico2
Distribuição da densidade de indivíduos.

Figura 12.6: Distribuição da densidade de indivíduos.

ggsave(grafico2, dpi = 300, filename = "fig-abun.png")
## Saving 7 x 5 in image

12.10 Curva de rarefação

O código abaixo indica como usar o pacote iNEXT para extrapolar e interpolar curvas de rarefação visando comparar a riqueza de diferentes locais (linhas, por isso se trabalha com a matriz transposta). A curva de raferação vai ser construida para as UA’s demarcadas em rarefa <- t(m_trab[c("S-R-CT2","S-R-CP2","S-A-TA2","B-A-MU2"),])

Pode-se, alternativamente, construrir a curva de raferação para as 8 linhas (UA’s) com maior somatório dos valores das espécies (linhas marcadas com o símbolo #).

m_trab_r <- mutate(m_trab, across(everything(), ceiling)) #arredonda a matriz original para números inteiros
colSums(t(m_trab_r))
colnames(t(m_trab_r))
rarefa <- t(m_trab_r[c("S-R-CT2","S-R-CP2","S-A-TA2","B-A-MU2"),]) #curva de rarefação para os sítios especificados
class(m_trab)
## Curva de rarefação para todos os sítios
#rarefa <- t(m_trab_r)
## Curva de rarefação para as 8 UA's com maior soma 
#m_trab_r <- as.data.frame(t(m_trab_r)) #transpõe a matriz
#col_sums <- colSums(m_trab_r)
#largest_columns <- names(sort(col_sums, decreasing = TRUE)[1:8])
#rarefa <- m_trab_r[largest_columns] #curva de rarefação para as 8 UA's com maior soma
## S-A-ZA1 S-R-CC1 S-R-CT1 S-R-CP1 S-A-TA1 S-R-CT2 S-R-CP2 S-A-TA2 S-R-CT3 S-R-CP3 
##      10     102     545      55      42     717     108     228    1144      68 
## S-A-TA3 S-R-CT4 S-R-CP4 S-A-TA4 B-A-MU1 B-R-ET1 B-A-GU1 B-R-PC2 B-A-MU2 B-A-GU2 
##     501     436     104     684     208      46      25     185     186     161 
## B-R-PC3 B-A-MU3 B-A-GU3 B-R-PC4 B-A-MU4 B-A-GU4 
##     371     762     535     156    1174     342 
##  [1] "S-A-ZA1" "S-R-CC1" "S-R-CT1" "S-R-CP1" "S-A-TA1" "S-R-CT2" "S-R-CP2"
##  [8] "S-A-TA2" "S-R-CT3" "S-R-CP3" "S-A-TA3" "S-R-CT4" "S-R-CP4" "S-A-TA4"
## [15] "B-A-MU1" "B-R-ET1" "B-A-GU1" "B-R-PC2" "B-A-MU2" "B-A-GU2" "B-R-PC3"
## [22] "B-A-MU3" "B-A-GU3" "B-R-PC4" "B-A-MU4" "B-A-GU4"
## [1] "data.frame"

A curva de rarefação vai ser construida para os sítios: “S-R-CT2”,“S-R-CP2”,“S-A-TA2”,“B-A-MU2”

No código abaixo o valor de q pode ser mudado para q=1 para comparar a diversidade de Shannon e para q=2 para Simpson (Figura (12.7). A função endpoint= define o tamanho da amostra para o qual se deseja extrapolar a curva de rarefação. Se endpoint=NULL, a extrapolação será feita para o dobro do valor amostrado.

library(iNEXT)
## Warning: package 'iNEXT' was built under R version 4.3.3
out <- iNEXT(rarefa, q = 0,
             datatype = "abundance",
             size = NULL,
             endpoint = 2000, #define o comprimento de eixo x
             knots = 40,
             se = TRUE,
             conf = 0.95,
             nboot = 50)
grafico3 <- ggiNEXT(out, type = 1, facet.var="None") +
  theme_bw() +
  labs(fill = "Áreas") +
  xlab("Número de indivíduos") + 
  ylab("Riqueza de espécies") +
  theme(legend.title=element_blank()) #ver como fica com facet.var="Assemblage"
grafico3
Curva de rafefação para sítios específicos. `q=0`, riqueza; `q=1`, diversidade de Shannon; `q=2`, diversidade de Simpson; `q=5`, equitabilidade.

Figura 12.7: Curva de rafefação para sítios específicos. q=0, riqueza; q=1, diversidade de Shannon; q=2, diversidade de Simpson; q=5, equitabilidade.

ggsave(grafico3, dpi = 300, filename = "fig-rare1.png")
## Saving 7 x 5 in image

A linha sólida representa a interpolação do número de espécies observadas, e a linha tracejada mostra uma extrapolação do que seria esperado dado um aumento no número de indivíduos coletados. A área mais clara representa o intervalo de confiança de 95%.

12.10.1 Interpretando a curva de rarefação

A curva de rarefação é uma ferramenta gráfica comumente usada em ecologia para estimar e visualizar a riqueza de espécies em uma comunidade, especialmente quando se têm dados de amostragem incompletos. Ela ajuda a responder à pergunta: “Quantas espécies diferentes podemos esperar encontrar em uma comunidade com base nas amostras que coletamos até agora?”

Aqui está uma explicação passo a passo sobre como interpretar uma curva de rarefação:

  1. Eixo X (Número de Indivíduos Amostrados):
    • O eixo horizontal (eixo X) representa o número de indivíduos ou unidades amostrados da comunidade. Isso pode ser o número de indivíduos observados, o número de amostras coletadas ou qualquer outra unidade de amostragem que seja relevante para o estudo.
  2. Eixo Y (Riqueza de Espécies):
    • O eixo vertical (eixo Y) representa a riqueza de espécies, ou seja, o número total de espécies diferentes observadas ou estimadas nas amostras.
  3. Pontos na Curva:
    • Cada ponto na curva de rarefação representa a riqueza de espécies estimada com base no número de indivíduos amostrados até o momento.
    • À medida que você aumenta o número de indivíduos amostrados (ou seja, move-se para a direita ao longo do eixo X), a riqueza de espécies estimada também aumenta (ou seja, move-se para cima ao longo do eixo Y).
  4. Inclinação da Curva:
    • A inclinação da curva de rarefação é importante. Uma curva que sobe rapidamente indica que novas espécies estão sendo encontradas à medida que mais indivíduos são amostrados. Isso sugere que a comunidade é rica em espécies, e ainda há muitas espécies não observadas.
    • Uma curva que sobe lentamente sugere que a maioria das espécies já foi observada, e a riqueza de espécies está se estabilizando. Isso indica uma comunidade menos diversa ou uma amostragem mais completa.
  5. Assíntota:
    • A assíntota é o ponto em que a curva de rarefação começa a nivelar-se, e a adição de mais indivíduos à amostra tem um impacto mínimo na riqueza de espécies estimada. A assíntota é uma estimativa da riqueza de espécies máxima que pode ser alcançada com a amostragem disponível.
  6. Interpretação:
    • A interpretação da curva de rarefação depende do contexto. Se a curva ainda estiver subindo acentuadamente no ponto em que você parou de amostrar, isso sugere que a amostragem está incompleta, e mais espécies provavelmente serão encontradas com mais esforço de amostragem.
    • Se a curva estiver nivelada e próxima de uma assíntota, isso sugere que a amostragem foi mais completa, e você pode ter uma estimativa confiável da riqueza de espécies na comunidade.
  7. Estimativas da Riqueza:
    • A curva de rarefação pode ser usada para fazer estimativas da riqueza de espécies com base nas amostras coletadas. No entanto, lembre-se de que essas são estimativas e estão sujeitas a variações amostrais. É comum calcular intervalos de confiança ao redor dessas estimativas.

Em resumo, a curva de rarefação é uma ferramenta valiosa para estimar a riqueza de espécies em uma comunidade com base em amostras coletadas. A interpretação depende da inclinação da curva, da presença de uma assíntota e do contexto do estudo. É importante lembrar que a amostragem mais completa geralmente resulta em estimativas mais confiáveis da riqueza de espécies.

12.11 Curva de acumulação de espécies

acumula <- specaccum(m_trab,
                     method = "random")
acumula
## Species Accumulation Curve
## Accumulation method: random, with 100 permutations
## Call: specaccum(comm = m_trab, method = "random") 
## 
##                                                                              
## Sites    1.0000  2.00000  3.00000  4.0000  5.00000  6.00000  7.00000  8.00000
## Richness 7.3100 12.39000 15.23000 17.7100 19.25000 20.86000 21.95000 23.18000
## sd       4.6006  5.16573  4.88009  4.8248  4.50224  4.24269  3.97816  3.88049
##                                                                                 
## Sites     9.00000 10.00000 11.00000 12.00000 13.00000 14.00000 15.00000 16.00000
## Richness 24.34000 25.35000 26.12000 26.83000 27.74000 28.46000 29.15000 29.87000
## sd        3.53402  3.67733  3.59371  3.44965  3.13862  3.00646  2.84756  2.61176
##                                                                                
## Sites    17.00000 18.0000 19.00000 20.00000 21.00000 22.00000 23.00000 24.00000
## Richness 30.50000 31.0700 31.59000 32.23000 32.67000 33.08000 33.60000 34.09000
## sd        2.46388  2.3366  2.16069  1.98405  1.87517  1.70371  1.42134  1.20684
##                     
## Sites    25.00000 26
## Richness 34.51000 35
## sd        0.96917  0

12.11.1 Plot locais

Plotamos uma curva de acumulação de espécies simples.

plot(acumula)

Uma curva de acumulação de espécies é uma ferramenta gráfica usada para entender como a riqueza de espécies em uma comunidade aumenta à medida que mais amostras são coletadas ou observações são feitas. Ela é especialmente útil em estudos de biodiversidade e ecologia. Aqui está uma explicação sobre como interpretar uma curva de acumulação de espécies:

  1. Eixo X (Número de Amostras ou Unidades de Observação):
    • O eixo horizontal (eixo X) representa o número de amostras coletadas, unidades de observação ou esforço amostral. Isso pode ser o número de áreas amostradas, pontos de observação, horas de coleta de dados ou qualquer unidade relevante para o estudo.
  2. Eixo Y (Riqueza de Espécies Acumulada):
    • O eixo vertical (eixo Y) representa a riqueza de espécies acumulada, ou seja, o número total de espécies diferentes observadas ou registradas até o momento.
  3. Pontos na Curva:
    • Cada ponto na curva de acumulação de espécies representa a riqueza de espécies acumulada com base no número de amostras coletadas ou observações feitas até aquele ponto.
    • À medida que você aumenta o número de amostras (ou seja, move-se para a direita ao longo do eixo X), a riqueza de espécies acumulada também aumenta (ou seja, move-se para cima ao longo do eixo Y).
  4. Inclinação da Curva:
    • A inclinação da curva de acumulação de espécies é importante. Uma curva que sobe rapidamente indica que novas espécies estão sendo encontradas à medida que mais amostras são coletadas. Isso sugere que a comunidade é rica em espécies e que ainda há muitas espécies não observadas.
    • Uma curva que sobe lentamente sugere que a maioria das espécies já foi observada, e a riqueza de espécies está se estabilizando. Isso indica uma comunidade menos diversa ou uma amostragem mais completa.
  5. Assíntota:
    • A assíntota é o ponto onde a curva de acumulação de espécies começa a nivelar-se, e a adição de mais amostras tem um impacto mínimo na riqueza de espécies acumulada. A assíntota é uma estimativa da riqueza de espécies máxima que pode ser alcançada com o esforço amostral disponível.
  6. Interpretação:
    • A interpretação da curva de acumulação de espécies depende do contexto. Se a curva ainda estiver subindo acentuadamente no ponto em que você parou de amostrar, isso sugere que a amostragem está incompleta, e mais espécies provavelmente serão encontradas com mais esforço amostral.
    • Se a curva estiver nivelada e próxima de uma assíntota, isso sugere que a amostragem foi mais completa, e você pode ter uma estimativa confiável da riqueza de espécies na comunidade.
  7. Estimativas da Riqueza:
    • A curva de acumulação de espécies pode ser usada para fazer estimativas da riqueza de espécies com base nas amostras coletadas. No entanto, lembre-se de que essas são estimativas e estão sujeitas a variações amostrais. É comum calcular intervalos de confiança ao redor dessas estimativas.

Em resumo, a curva de acumulação de espécies é uma ferramenta valiosa para entender como a riqueza de espécies aumenta com o esforço amostral em uma comunidade. A interpretação depende da inclinação da curva, da presença de uma assíntota e do contexto do estudo. Ela ajuda a responder à pergunta: “Quantas espécies diferentes podemos esperar encontrar em uma comunidade com base nas amostras que coletamos até agora?”

Agora podemos plotar uma curva de acumulação de espécies melhorada.

plot_data <- data.frame("UAs" = c(0, acumula$sites),
                        "Riqueza" = c(0, acumula$richness),
                        "lower" = c(0, acumula$richness - acumula$sd),
                        "upper" = c(0, acumula$richness + acumula$sd))
gLocais <- ggplot(plot_data, aes(x = UAs, y = Riqueza)) +
  geom_point(color = "blue", size = 4) +
  geom_line(color = "blue", lwd = 2) +
  geom_ribbon(aes(ymin = lower, ymax = upper), 
              linetype=2, alpha=0.3, fill = "yellow") +
  ylab("Riqueza acumulada") +
  theme_classic() +
  theme(text = element_text(size = 16))
gLocais

ggsave(gLocais, dpi = 300, filename = "fig-acum.png")
## Saving 7 x 5 in image

12.12 Plot indivíduos

plot_data <- data.frame("Individuos" = c(0, acumula$individuals),
                        "Riqueza" = c(0, acumula$richness),
                        "lower" = c(0, acumula$richness - acumula$sd),
                        "upper" = c(0, acumula$richness + acumula$sd))
gInd <- ggplot(plot_data, aes(x = Individuos, y = Riqueza)) +
  geom_point(color = "blue", size = 4) +
  geom_line(color = "blue", lwd = 2) +
  geom_ribbon(aes(ymin = lower, ymax = upper), 
              linetype=2, alpha=0.3, fill = "yellow") +
  ylab("Riqueza acumulada") +
  theme_classic() +
  theme(text = element_text(size = 16))
gInd

Apêndices

Descritores da estrutura da comunidade: UA’s

Sum, soma; mean, média; DP, desvio padrão da média; Max, maior valor; Min, menor valor; S, riqueza (ou frequência de ocorrência na matriz transposta); E, índice de equitabilidade de Pielou (Pielou 1975); H, índice de diversidade de Shannon (Ludwig and Reynolds 1988); D, índice de diversidade de Simpson (Hurlbert 1971).

#Matriz transposta
m_trab <- t(m_trab) #transpõe a matriz de volta para comunitaria
Sum <- rowSums(m_trab)
Sum <- apply(m_trab,1,sum)
Mean <- rowMeans(m_trab)
Mean <- apply(m_trab,1,mean)
DP <- apply(m_trab,1,sd)
Max <- apply(m_trab,1,max)
Min <- apply(m_trab,1,min)
#library(vegan)
bin <- decostand(m_trab,"pa")
S <- apply(bin,1,sum)
Riqueza <- specnumber(m_trab)
Riqueza_total <- specnumber(colSums(m_trab))
H <- diversity(m_trab)
D <- diversity(m_trab, "simpson")
D[is.na(D)] <- 0 #substitui NA ou NaN por 0
E <- H/log(specnumber(m_trab))
E[is.na(E)] <- 0 #substitui NA ou NaN por 0
#library(moments)
Assimetria <- apply(m_trab,1,skewness)
Curtose <- apply(m_trab,1,kurtosis)
m_trab <- t(m_trab) #traz de volta
Descritores1 <- cbind(Sum, Mean, DP, Max, Min, S, E, H, D)
Descritores1 <- as.data.frame(Descritores1)
Descritores1
#Descritores1 <- Descritores1 %>% rownames_to_column(var="Espécies") #da nome a primeira coluna
SomaTotalD <- apply(Descritores1,2,sum)
SomaTotalD
MediaTotalD <- apply(Descritores1,2,mean)
MediaTotalD
DPTotalD <- apply(Descritores1,2,sd)
DPTotalD
Descritores2 <- cbind(SomaTotalD, MediaTotalD, DPTotalD)
Descritores2 <- as.data.frame(Descritores2)
Descritores2 <- t(Descritores2)
Descritores2
DescritoresFinal <- rbind(Descritores1, Descritores2)
DescritoresFinal
DescritoresFinal <- round (DescritoresFinal, 2)
#Fazendo uma tabela
#library(gt)
df <- DescritoresFinal
ncol(df); nrow(df) #no. de N colunas x M linhas
df <- cbind(UA = rownames(df), df)
gt(df, caption = "Descritores da diversidade por Unidade Amostral (UA). Sum, soma; mean, média; DP, desvio padrão da média; Max, maior valor; Min, menor valor; S, riqueza (ou frequência de ocorrência na matriz transposta); E, índice de equitabilidade de Pielou; H, índice de diversidade de Shannon; D, índice de diversidade de Simpson.")

Descritores da normalidade

Normalidade1 <- cbind(Assimetria, Curtose)
Normalidade1 <- as.data.frame(Normalidade1)
Normalidade1 <- na.omit(Normalidade1) #remove NA e NaN
Normalidade1
SomaTotalN <- apply(Normalidade1,2,sum)
SomaTotalN
MediaTotalN <- apply(Normalidade1,2,mean)
MediaTotalN
DPTotalN <- apply(Normalidade1,2,sd)
DPTotalN
Normalidade2<-cbind(SomaTotalN, MediaTotalN, DPTotalN)
Normalidade2<-as.data.frame(Normalidade2)
Normalidade2 <- t(Normalidade2) #"t" transpoe a matriz
Normalidade2
NormalidadeFinal <- rbind(Normalidade1, Normalidade2)
NormalidadeFinal
NormalidadeFinal <- round(NormalidadeFinal, 2)
#Fazendo uma tabela
nf <- NormalidadeFinal
ncol(nf); nrow(nf) #no. de N colunas x M linhas
nf <- cbind(UA = rownames(nf), nf)
gt(nf, caption = "Descritores da normalidade por Unidade Amostral (UA)")

A função fix(nome da matriz) dá acesso ao grid da matriz criada para manipulação dos dados numéricos.

Salvando as tabelas criadas em txt direto no diretório de trabalho

write.table(data.frame("Spp"=rownames(DescritoresFinal),
                       DescritoresFinal),
            "DescritoresUA.csv",
            row.names=FALSE,
            sep="\t")
write.table(data.frame("Spp"=rownames(NormalidadeFinal),
                       NormalidadeFinal),
            "NormalidadeUA.txt",
            row.names=FALSE,
            sep="\t")

Sites consultados

Script limpo

Aqui apresento o scrip na íntegra sem os textos ou outros comentários. Você pode copiar e colar no R para executa-lo. Lembre de remover os # ou ## caso necessite executar essas linhas.

## dev.off() #apaga os graficos, se houver algum
## rm(list=ls(all=TRUE)) #limpa a memória
## cat("\014") #limpa o console
## install.packages("vegan")
## install.packages("moments")
## install.packages("ggplot2")
## install.packages("dplyr")
## install.packages("tidyr")
## install.packages("tibble")
## install.packages("tidyverse") #atente para alguma msg de erro qdo executar essa linha
## install.packages("forcats")
## install.packages("iNEXT")
## install.packages("openxlsx")
## install.packages("gt")
## library(tibble); library(tidyverse); library(forcats); library(openxlsx); library(Rcpp)
## getwd()
## setwd("C:/Seu/Diretório/De/Trabalho")
#dir <- getwd() #criamos um vetor com o diretório  de trbalho 
#shell.exec(dir) #abre o diretorio de trabalho no Windows Explorer
ppbio <- read.xlsx("D:/Elvio/OneDrive/Disciplinas/_EcoNumerica/5.Matrizes/ppbio06.xlsx",
                   rowNames = T, colNames = T,
                   sheet = "Sheet1")
str(ppbio)
#View(ppbio)
ppbio[1:5,1:5] #[1:5,1:5] mostra apenas as linhas e colunas de 1 a 5.
## #View(ppbio)
## print(ppbio[1:8,1:8])
## ppbio[1:10,1:10]
## str(ppbio)
## mode(ppbio)
## class(ppbio)
m_trab <- ppbio
m_trab <- t(ppbio)
str(m_trab)
#View(m_trab)
m_trab
print(m_trab[1:5,1:5])
m_trab[1:5,1:5]
str(m_trab)
mode(m_trab)
class(m_trab)
range(m_trab) #menor e maior valores
length(m_trab) #no. de colunas
ncol(m_trab) #no. de N colunas
nrow(m_trab) #no. de M linhas
sum(lengths(m_trab)) #soma os nos. de colunas
length(as.matrix(m_trab)) #tamanho da matriz m x n
sum(m_trab == 0) #número de observações igual a zero
sum(m_trab > 0) #número de observações maiores que zero
#calculando a proporção de zeros na matriz
zeros <- (sum(m_trab == 0)/length(as.matrix(m_trab)))*100
zeros
tamanho <- data.frame(
  Função = c("range", "lenght", "n cols", "m linhas", "Tamanho", "Tamanho",
             "Zeros", "Nao zeros", "% Zeros"),
  Resultado = c(paste(range(m_trab), collapse = " - "),
                length(m_trab), ncol(m_trab),
                nrow(m_trab), sum(lengths(m_trab)),
                length(as.matrix(m_trab)), sum(m_trab == 0),
                sum(m_trab > 0), round(zeros, 1)))
tamanho
knitr::kable(tamanho, format = "markdown", caption = "Resumo das informações sobre o tamanho da base de dados.")
#?apply
Sum <- rowSums(m_trab)
#ou
Sum <- apply(m_trab,1,sum)
Sum
## Media
Mean <- rowMeans(m_trab)
Mean
## Ou
Mean <- apply(m_trab,1,mean)
Mean
## Desvio padrão
DP <- apply(m_trab,1,sd)
DP
## Máximo
Max <- apply(m_trab,1,max)
Max 
## Mínimo
Min <- apply(m_trab,1,min)
Min
library(vegan)
bin <- decostand(m_trab,"pa")
bin[1:10, 1:10]
S <- apply(bin,1,sum)
S
#OU
Riqueza <- specnumber(m_trab)
Riqueza
Riqueza_total <- specnumber(colSums(m_trab))
Riqueza_total
H <- diversity(m_trab, index = "shannon")
H
D <- diversity(m_trab, "simpson")
D
D[is.na(D)] <- 0 #substitui NA ou NaN por 0
D
E <- H/log(specnumber(m_trab))
E
E[is.na(E)] <- 0 #substitui NA ou NaN por 0
E
library(moments)
Assimetria <- apply(m_trab,1,skewness)
Assimetria
Curtose <- apply(m_trab,1,kurtosis)
Curtose
Descritores1 <- cbind(Sum, Mean, DP, Max, Min, S, E, H, D)
Descritores1 <- as.data.frame(Descritores1)
Descritores1
#Descritores1 <- Descritores1 %>% rownames_to_column(var="Espécies") #da nome a primeira coluna
SomaTotalD <- apply(Descritores1,2,sum)
SomaTotalD
MediaTotalD <- apply(Descritores1,2,mean)
MediaTotalD
DPTotalD <- apply(Descritores1,2,sd)
DPTotalD
Descritores2 <- cbind(SomaTotalD, MediaTotalD, DPTotalD)
Descritores2 <- as.data.frame(Descritores2)
Descritores2 <- t(Descritores2)
Descritores2
DescritoresFinal <- rbind(Descritores1, Descritores2)
DescritoresFinal
DescritoresFinal <- round (DescritoresFinal, 2)
DescritoresFinal
#Fazendo uma tabela
library(gt)
df <- DescritoresFinal
ncol(df); nrow(df) #no. de N colunas x M linhas
df <- cbind(Spp = rownames(df), df)
gt(df, rowname_col = "Espécie", caption = "Descritores da diversidade por espécie (colunas). Sum, soma; mean, média; DP, desvio padrão da média; Max, maior valor; Min, menor valor; S, riqueza (ou frequência de ocorrência na matriz transposta); E, índice de equitabilidade de Pielou; H, índice de diversidade de Shannon; D, índice de diversidade de Simpson.")
Normalidade1 <- cbind(Assimetria, Curtose)
Normalidade1 <- as.data.frame(Normalidade1)
Normalidade1
SomaTotalN <- apply(Normalidade1,2,sum)
SomaTotalN
MediaTotalN <- apply(Normalidade1,2,mean)
MediaTotalN
DPTotalN <- apply(Normalidade1,2,sd)
DPTotalN
Normalidade2<-cbind(SomaTotalN, MediaTotalN, DPTotalN)
Normalidade2<-as.data.frame(Normalidade2)
Normalidade2 <- t(Normalidade2) #"t" transpoe a matriz
Normalidade2
NormalidadeFinal <- rbind(Normalidade1, Normalidade2)
NormalidadeFinal
NormalidadeFinal <- round(NormalidadeFinal, 2)
NormalidadeFinal
#Fazendo uma tabela
nf <- NormalidadeFinal
ncol(nf); nrow(nf) #no. de N colunas x M linhas
nf <- cbind(Spp = rownames(nf), nf)
gt(nf, rowname_col = "Espécie", caption = "Descritores da normalidade por espécie (coluna)")
write.table(data.frame("Spp"=rownames(DescritoresFinal),
                       DescritoresFinal),
            "DescritoresSPP.txt",
            row.names=FALSE,
            sep="\t")
write.table(data.frame("Spp"=rownames(NormalidadeFinal),
                       NormalidadeFinal),
            "NormalidadeSPP.txt",
            row.names=FALSE,
            sep="\t")
m_trab <- ppbio
m_trab
Hill <- renyi(m_trab,
              scales = c(0:5),
              hill = TRUE)
Hill
library(ggplot2)
library(tidyr)
library(tidyverse)
grafico1 <- Hill %>%  
  rownames_to_column() %>% 
  pivot_longer(-rowname) %>% 
  mutate(name = factor(name, name[1:length(Hill)])) %>% 
  ggplot(aes(x = name, y = value, group = rowname,
             col = rowname)) +
  geom_point(size = 2) +
  geom_line(size = 1) +
  xlab("Parâmetro de ordem de diversidade (q)") +
  ylab("Diversidade") +
  labs(col = "Locais") +
  theme_bw() +
  theme(text = element_text(size = 5)) #ajustar a fonte caso nao caiba no output html 
grafico1
ggsave(grafico1, dpi = 300, filename = "fig-hill.png")
abund <- colSums(m_trab)
#abund <- m_trab[1, ] #escolhe a primeira linha para a distribuição de abundância
df <- data.frame(sp = colnames(m_trab), 
                 abun = abund) 
grafico2 <- ggplot(df, aes(fct_reorder(sp, -abun),
                           abun, group = 1)) +
  geom_col() +
  geom_line(col = "red", linetype = "dashed") + 
  geom_point(col = "red") +
  xlab("Espécies") +
  ylab("Abundância") +
  theme_bw() +
  theme(axis.text.x = element_text(
    angle = 45,
    hjust = 1,
    face = "italic"))
grafico2
ggsave(grafico2, dpi = 300, filename = "fig-abun.png")
m_trab_r <- mutate(m_trab, across(everything(), ceiling)) #arredonda a matriz original para números inteiros
colnames(t(m_trab_r))
rarefa <- t(m_trab_r[c("S-R-CT2","S-R-CP2","S-A-TA2","B-A-MU2"),]) #curva de rarefação para os sítios especificados
class(m_trab)
## Curva de rarefação para todos os sítios
#rarefa <- t(m_trab_r)
## Curva de rarefação para as 8 UA's com maior soma 
#m_trab_r <- as.data.frame(t(m_trab_r)) #transpõe a matriz
#col_sums <- colSums(m_trab_r)
#largest_columns <- names(sort(col_sums, decreasing = TRUE)[1:8])
#rarefa <- m_trab_r[largest_columns] #curva de rarefação para as 8 UA's com maior soma
library(iNEXT)
out <- iNEXT(rarefa, q = 0,
             datatype = "abundance",
             size = NULL,
             endpoint = 1500, #define o comprimento de eixo x
             knots = 40,
             se = TRUE,
             conf = 0.95,
             nboot = 50)
grafico3 <- ggiNEXT(out, type = 1, facet.var="None") +
  theme_bw() +
  labs(fill = "Áreas") +
  xlab("Número de indivíduos") + 
  ylab("Riqueza de espécies") +
  theme(legend.title=element_blank()) #ver como fica com facet.var="Assemblage"
grafico3
ggsave(grafico3, dpi = 300, filename = "fig-rare1.png")
acumula <- specaccum(m_trab,
                     method = "random")
acumula
plot(acumula)
plot_data <- data.frame("UAs" = c(0, acumula$sites),
                        "Riqueza" = c(0, acumula$richness),
                        "lower" = c(0, acumula$richness - acumula$sd),
                        "upper" = c(0, acumula$richness + acumula$sd))
gLocais <- ggplot(plot_data, aes(x = UAs, y = Riqueza)) +
  geom_point(color = "blue", size = 4) +
  geom_line(color = "blue", lwd = 2) +
  geom_ribbon(aes(ymin = lower, ymax = upper), 
              linetype=2, alpha=0.3, fill = "yellow") +
  ylab("Riqueza acumulada") +
  theme_classic() +
  theme(text = element_text(size = 16))
gLocais
plot_data <- data.frame("Individuos" = c(0, acumula$individuals),
                        "Riqueza" = c(0, acumula$richness),
                        "lower" = c(0, acumula$richness - acumula$sd),
                        "upper" = c(0, acumula$richness + acumula$sd))
gInd <- ggplot(plot_data, aes(x = Individuos, y = Riqueza)) +
  geom_point(color = "blue", size = 4) +
  geom_line(color = "blue", lwd = 2) +
  geom_ribbon(aes(ymin = lower, ymax = upper), 
              linetype=2, alpha=0.3, fill = "yellow") +
  ylab("Riqueza acumulada") +
  theme_classic() +
  theme(text = element_text(size = 16))
gInd
#Matriz transposta
m_trab <- t(m_trab) #transpõe a matriz
Sum <- rowSums(m_trab)
Sum <- apply(m_trab,1,sum)
Mean <- rowMeans(m_trab)
Mean <- apply(m_trab,1,mean)
DP <- apply(m_trab,1,sd)
Max <- apply(m_trab,1,max)
Min <- apply(m_trab,1,min)
#library(vegan)
bin <- decostand(m_trab,"pa")
S <- apply(bin,1,sum)
Riqueza <- specnumber(m_trab)
Riqueza_total <- specnumber(colSums(m_trab))
H <- diversity(m_trab)
D <- diversity(m_trab, "simpson")
D[is.na(D)] <- 0 #substitui NA ou NaN por 0
E <- H/log(specnumber(m_trab))
E[is.na(E)] <- 0 #substitui NA ou NaN por 0
#library(moments)
Assimetria <- apply(m_trab,1,skewness)
Curtose <- apply(m_trab,1,kurtosis)
m_trab <- t(m_trab) #traz de volta
Descritores1 <- cbind(Sum, Mean, DP, Max, Min, S, E, H, D)
Descritores1 <- as.data.frame(Descritores1)
Descritores1
#Descritores1 <- Descritores1 %>% rownames_to_column(var="Espécies") #da nome a primeira coluna
SomaTotalD <- apply(Descritores1,2,sum)
SomaTotalD
MediaTotalD <- apply(Descritores1,2,mean)
MediaTotalD
DPTotalD <- apply(Descritores1,2,sd)
DPTotalD
Descritores2 <- cbind(SomaTotalD, MediaTotalD, DPTotalD)
Descritores2 <- as.data.frame(Descritores2)
Descritores2 <- t(Descritores2)
Descritores2
DescritoresFinal <- rbind(Descritores1, Descritores2)
DescritoresFinal
DescritoresFinal <- round (DescritoresFinal, 2)
#Fazendo uma tabela
#library(gt)
df <- DescritoresFinal
ncol(df); nrow(df) #no. de N colunas x M linhas
df <- cbind(UA = rownames(df), df)
gt(df, caption = "Descritores da diversidade por Unidade Amostral (UA). Sum, soma; mean, média; DP, desvio padrão da média; Max, maior valor; Min, menor valor; S, riqueza (ou frequência de ocorrência na matriz transposta); E, índice de equitabilidade de Pielou; H, índice de diversidade de Shannon; D, índice de diversidade de Simpson.")
Normalidade1 <- cbind(Assimetria, Curtose)
Normalidade1 <- as.data.frame(Normalidade1)
Normalidade1 <- na.omit(Normalidade1) #remove NA e NaN
Normalidade1
SomaTotalN <- apply(Normalidade1,2,sum)
SomaTotalN
MediaTotalN <- apply(Normalidade1,2,mean)
MediaTotalN
DPTotalN <- apply(Normalidade1,2,sd)
DPTotalN
Normalidade2<-cbind(SomaTotalN, MediaTotalN, DPTotalN)
Normalidade2<-as.data.frame(Normalidade2)
Normalidade2 <- t(Normalidade2) #"t" transpoe a matriz
Normalidade2
NormalidadeFinal <- rbind(Normalidade1, Normalidade2)
NormalidadeFinal
NormalidadeFinal <- round(NormalidadeFinal, 2)
#Fazendo uma tabela
nf <- NormalidadeFinal
ncol(nf); nrow(nf) #no. de N colunas x M linhas
nf <- cbind(UA = rownames(nf), nf)
gt(nf, caption = "Descritores da normalidade por Unidade Amostral (UA)")
write.table(data.frame("Spp"=rownames(DescritoresFinal),
                       DescritoresFinal),
            "DescritoresUA.csv",
            row.names=FALSE,
            sep="\t")
write.table(data.frame("Spp"=rownames(NormalidadeFinal),
                       NormalidadeFinal),
            "NormalidadeUA.txt",
            row.names=FALSE,
            sep="\t")

Referências

Bibliografia

Dixon, Philip. 2003. “VEGAN, a Package of r Functions for Community Ecology.” Journal Article. Journal of Vegetation Science 14: 927–30. https://doi.org/10.1111/j.1654-1103.2003.tb02228.x.
Hurlbert, Stuart H. 1971. “The Nonconcept of Species Diversity: A Critique and Alternative Parameters.” Journal Article. Ecology 52 (4): 577–86. https://doi.org/10.2307/1934145.
Ludwig, John A., and James F. Reynolds. 1988. Statistical Ecology. A Primer on Methods and Computing. Book. New York, NY: John Wiley & Sons.
Magurran, Anne E. 1988. Ecological Diversity and Its Measurement. Book. Croom Helm Ltd.
Oksanen, J., F. G. Blanchet, M. Friendly, R. Kindt, P. Legendre, D. McGlinn, P. R. Minchin, et al. 2020. “Vegan: Community Ecology Package. R Package Version 2.5-7.” Report. The Comprehensive R Archive Network Archive. https://cran.r-project.org/web/packages/vegan/vegan.pdf.
Pielou, E. C. 1975. Ecological Diversity. Book. New York, NY: John Wiley & Sons.
———. 2017. R: A Language and Environment for Statistical Computing. Book. Austria: R Foundation for Statistical Computing. https://www.r-project.org/.
Team, R Studio. 2022. RStudio: Integrated Development Environment for r. Book. Boston, MA: RStudio, PBC. https://posit.co/products/open-source/rstudio/.
Zar, Jerrold H. 1999. Biostatistical Analysis. Book. 4th ed. Upper Saddle River, New Jersey, USA: Prentice Hall.