Ecologia Numérica

Leonardo Souza

2022-12-13

Atividade 1

Descrição de Comunidades Biológicas

Nesta atividade foi realizada uma simulação da sucessão primária (primeira colonização de um ambiente) em uma recém formada ilha oceânica, sendo esta comunidade biológica representada por grãos e massa de diferentes tipos (cada espécie possuia uma forma de distribuição diferente).

O estudo de descrição da comunidade biológica da ilha foi realizada por dois grupos, com métodos de amostragem distintos. O primeiro grupo usou a técnica de escolha aleatória das áreas de amostragem, enquanto o segundo grupo usou a tecnica das áreas de amostragem formarem dois transectos localizados de maneira planejada para contemplar os diversos ambientes da ilha.

A área total das áreas de amostragem (quadrados) correspondiam a 10% da área da ilha, de forma que cada uma das 10 dessas áreas correspondiam a 1% da área total da ilha.

Com base nos dados coletados, foi montado uma tabela (matriz) onde as espécies foram representadas nas linhas e as áreas de amostragem (amostras) foram organizadas nas colunas.


Tabela Completa

base<-read.csv("C:/Users/PICHAU/Documents/EcoNum/com_cul.csv", row.names = 1) #Caminho para acessar a tabela. Depois a primeira coluna foi transformada no nome das linhas/espécies.
base #Esse comando mostra a tabela.
##              q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10
## arroz_c       0  1  7  6  1  4  4  1  1   5  3  8  5  6  3  0  0  0  0   3
## arroz_e       1  0  0  1  0  0  8  4  0   3  0  1  8  1  1  0  0  0  1   0
## milho         0  0  0  0  0  0  0  0  0   0  0  0  0  0  0  0  0  0  0   0
## ervilha       0  0  1  0  0  0  1  0  0   0  0  0  1  0  0  0  0  0  0   0
## feijao_preto  0  0  0  0  0  0  0  0  0   0  0  0  6  0  0  0  0  0  0   0
## carioca_c     0  0  1  1  0  0  0  0  0   0  0  0  0  0  0  2  0  0  0   1
## carioca_e     0  0  0  2  2  0  0  0  0   8  0  0  0  0  0  0  0  0  0   0
## mac_paraf     0  0  0  0  0  0  0  0  0   0  0  0  0  0  0  0  1  0  0   0
## mac_tubo      0  0  0  0  0  0  0  0  0   0  0  0  0  0  0  0  0  0  0   0
## mac_espag     0  0  0  3  1  0  0  0  6   4 16  9  0  0  0  0  2  2  1   0


Explorando a Base

As amostras de cada método foram separadas, posteriormente, para efetuar as análises para descrever a comunidade biológica de modo mais organizado. No final do estudo dos dados serão comparados os resultados de cada método.


Tabela do Método Quadrado (q)

base_q<-base[,1:10] #Separando os dados obtidos a partir do método q.
base_q #Esse comando mostra a tabela de q.
##              q1 q2 q3 q4 q5 q6 q7 q8 q9 q10
## arroz_c       0  1  7  6  1  4  4  1  1   5
## arroz_e       1  0  0  1  0  0  8  4  0   3
## milho         0  0  0  0  0  0  0  0  0   0
## ervilha       0  0  1  0  0  0  1  0  0   0
## feijao_preto  0  0  0  0  0  0  0  0  0   0
## carioca_c     0  0  1  1  0  0  0  0  0   0
## carioca_e     0  0  0  2  2  0  0  0  0   8
## mac_paraf     0  0  0  0  0  0  0  0  0   0
## mac_tubo      0  0  0  0  0  0  0  0  0   0
## mac_espag     0  0  0  3  1  0  0  0  6   4


Tabela do Método Transecto (t)

base_t<-base[,11:20] #Separando os dados obtidos a partir do método t.
base_t #Esse comando mostra a tabela de t.
##              t1 t2 t3 t4 t5 t6 t7 t8 t9 t10
## arroz_c       3  8  5  6  3  0  0  0  0   3
## arroz_e       0  1  8  1  1  0  0  0  1   0
## milho         0  0  0  0  0  0  0  0  0   0
## ervilha       0  0  1  0  0  0  0  0  0   0
## feijao_preto  0  0  6  0  0  0  0  0  0   0
## carioca_c     0  0  0  0  0  2  0  0  0   1
## carioca_e     0  0  0  0  0  0  0  0  0   0
## mac_paraf     0  0  0  0  0  0  1  0  0   0
## mac_tubo      0  0  0  0  0  0  0  0  0   0
## mac_espag    16  9  0  0  0  0  2  2  1   0


Dimensões da Tabela q

dim(base_q) #Dimensões da tabela q.
## [1] 10 10


Dimensões da Tabela t

dim(base_t) #Dimensões da tabela t.
## [1] 10 10


Número de Linhas da Tabela q

nrow(base_q) #Número de linhas da tabela q.
## [1] 10


Número de Linhas da Tabela t

nrow(base_t) #Número de linhas da tabela t.
## [1] 10


Número de Colunas da Tabela q

ncol(base_q) #Número de colunas da tabela q.
## [1] 10


Número de Colunas da Tabela t

ncol(base_t) #Número de colunas da tabela t.
## [1] 10


Abundância de Indivíduos de Cada Espécie no Método q

Foi obtida a partir da soma das linhas de cada espécie.

rowSums(base_q) #Abundância de indivíduos de cada espécie no método q.
##      arroz_c      arroz_e        milho      ervilha feijao_preto    carioca_c 
##           30           17            0            2            0            2 
##    carioca_e    mac_paraf     mac_tubo    mac_espag 
##           12            0            0           14


Abundância de Indivíduos de Cada Espécie no Método t

Foi obtida a partir da soma das linhas de cada espécie.

rowSums(base_t) #Abundância de indivíduos de cada espécie no método t.
##      arroz_c      arroz_e        milho      ervilha feijao_preto    carioca_c 
##           28           12            0            1            6            3 
##    carioca_e    mac_paraf     mac_tubo    mac_espag 
##            0            1            0           30


Abundância de Indivíduos de Cada Amostra no Método q

Foi obtida a partir da soma das colunas de cada amostra.

colSums(base_q) #Abundância de indivíduos em cada amostra do método q.
##  q1  q2  q3  q4  q5  q6  q7  q8  q9 q10 
##   1   1   9  13   4   4  13   5   7  20


Abundância de Indivíduos de Cada Amostra no Método t

Foi obtida a partir da soma das colunas de cada amostra.

colSums(base_t) #Abundância de indivíduos em cada amostra do método t.
##  t1  t2  t3  t4  t5  t6  t7  t8  t9 t10 
##  19  18  20   7   4   2   3   2   2   4


Qual o Número de Espécies dos Diferentes Métodos?

library(vegan) #Comando que permite utilizar funções de análise de dados voltadas a ecologia.
library(tidyverse) #Comando que permite utilizar funções que auxiliam na análise de dados.
library(cowplot) #Comando que permite utilizar funções de construção de gráficos.


Frequência das Espécies no Método q

A frequência das espécies indica em quantas amostras a espécie foi registrada.

specnumber(base_q) #Frequência das espécies no método q.
##      arroz_c      arroz_e        milho      ervilha feijao_preto    carioca_c 
##            9            5            0            2            0            2 
##    carioca_e    mac_paraf     mac_tubo    mac_espag 
##            3            0            0            4


Frequência das Espécies no Método t

A frequência das espécies indica em quantas amostras a espécie foi registrada.

specnumber(base_t) #Frequência das espécies no método t.
##      arroz_c      arroz_e        milho      ervilha feijao_preto    carioca_c 
##            6            5            0            1            1            2 
##    carioca_e    mac_paraf     mac_tubo    mac_espag 
##            0            1            0            5


Abundância das Espécie em Cada Amostra no Método q

A abundância das espécies indica o número de espécies registradas em cada amostra.

specnumber(t(base_q)) #Abundância das espécies em cada amostra no método q.
##  q1  q2  q3  q4  q5  q6  q7  q8  q9 q10 
##   1   1   3   5   3   1   3   2   2   4


Abundância das Espécie em Cada Amostra no Método t

A abundância das espécies indica o número de espécies registradas em cada amostra.

specnumber(t(base_t)) #Abundância das espécies em cada amostra no método t.
##  t1  t2  t3  t4  t5  t6  t7  t8  t9 t10 
##   2   3   4   2   2   1   2   1   2   2

O método dos transectos (t) conseguiu registrar mais espécies que o método dos quadrados (q), contudo a diferença foi de apenas uma espécie. As número de espécies registradas foram, respectivamente, 7 e 6.


Número de Espécies no Método dos Quadrados (q)

base_q %>% #Este comando permite fazer uma série de comandos dentro de uma base enquanto mantém a organização.
  rownames_to_column("Espécies") %>% #Os nomes das linhas voltaram a ser a primeira coluna.
  mutate(Abundância_das_Espécies=rowSums(base_q)) %>% #Foi adicionado uma nova coluna para mostrar as somas das abundâncias.
  filter(Abundância_das_Espécies > 0) %>% #Foi retirado as somas iguais a zero, visto que indica que não foi registrado espécie.
  count() #Fazer a contagem.
##   n
## 1 6


Número de Espécies no Método dos Transectos (t)

base_t %>% #Este comando permite fazer uma série de comandos dentro de uma base enquanto mantém a organização.
  rownames_to_column("Espécies") %>% #Os nomes das linhas voltaram a ser a primeira coluna.
  mutate(Abundância_das_Espécies=rowSums(base_t)) %>% #Foi adicionado uma nova coluna para mostrar as somas das abundâncias.
  filter(Abundância_das_Espécies > 0) %>% #Foi retirado as somas iguais a zero, visto que indica que não foi registrado espécie.
  count() #Fazer a contagem.
##   n
## 1 7


Qual a Distribuição das Abundâncias das Espécies?

Método dos Quadrados (q)

No método q as espécies com maior abundância, em ordem decrescente, foram respectivamente, arroz_c, arroz_e, mac_espag, carioca_e, ervilha e carioca_c. O com maior abundância teve 30 indivíduos registrados, enquanto o menor teve apenas 2.

base_q %>% #Este comando permite fazer uma série de comandos dentro de uma base enquanto mantém a organização.
  rownames_to_column("Espécies") %>% #Os nomes das linhas voltaram a ser a primeira coluna.
  mutate(Abundância_das_Espécies=rowSums(base_q)) %>% #Foi adicionado uma nova coluna para mostrar as somas das abundâncias.
  filter(Abundância_das_Espécies > 0) %>% #Foi retirado as somas iguais a zero, visto que indica que não foi registrado espécie.
  arrange(desc(Abundância_das_Espécies)) %>% #Ordena de forma decrescente a abundância.
  mutate(Espécies=factor(Espécies, level = Espécies)) %>% #Fixa a ordem para o ggplot. 
  ggplot(aes(x=Espécies, y=Abundância_das_Espécies))+ #Determinação do eixo x e do eixo y.
  geom_line(group = 1)+geom_point(size = 3)->graf_abund_q

graf_abund_q #Mostra o gráfico de q.


Método dos Transectos (t)

No método t as espécies com maior abundância, em ordem decrescente, foram respectivamente, mac_espag, arroz_c, arroz_e, feijao_preto, carioca_c, ervilha e mac_paraf. O com maior abundância teve 30 indivíduos registrados, enquanto o menor teve apenas 1.

base_t %>% #Este comando permite fazer uma série de comandos dentro de uma base enquanto mantém a organização.
  rownames_to_column("Espécies") %>% #Os nomes das linhas voltaram a ser a primeira coluna.
  mutate(Abundância_das_Espécies=rowSums(base_t)) %>% #Foi adicionado uma nova coluna para mostrar as somas das abundâncias.
  filter(Abundância_das_Espécies > 0) %>% #Foi retirado as somas iguais a zero, visto que indica que não foi registrado espécie.
  arrange(desc(Abundância_das_Espécies)) %>% #Ordena de forma decrescente a abundância.
  mutate(Espécies=factor(Espécies, level = Espécies)) %>% #Fixa a ordem para o ggplot. 
  ggplot(aes(x=Espécies, y=Abundância_das_Espécies))+ #Determinação do eixo x e do eixo y.
  geom_line(group = 1)+geom_point(size = 3)->graf_abund_t

graf_abund_t #Mostra o gráfico de t.


Para melhor vizualização e comparação, a imagem abaixo apresenta os dois gráficos lado a lado.

plot_grid(graf_abund_q, graf_abund_t, labels = c("Quadrados", "Transectos"), ncol = 2) #Colocam as tabelas lado a lado para melhor comparação, além de nomear cada gráfico.


As Amostras Atingiram o Número Real de Espécies?

As amostras não atingiram o número real de espécies. Utilizando os gráficos abaixo é possível notar que no método dos quadrados (q) ele se aproxima mais do total de espécies, justamente por se aproximar do platô da curva. Enquanto no método dos transectos (t) não se aproxima tanto do total de espécies devido a estar na ascendente da curva.

acum_q<-specaccum(t(base_q)) #Criação das curvas.
plot(acum_q, ci.type = "poly", col = "blue", lwd = 2, ci.lty = 0, #Criação do gráfico.
    ci.col = "lightblue", main = "Quadrantes", xlab = "Número de amostras", #Definindo a variável do eixo X.
    ylab = "Número de espécies") #Definindo a variável do eixo y.


acum_t<-specaccum(t(base_t)) #Criação das curvas.
plot(acum_t, ci.type = "poly", col = "blue", lwd = 2, ci.lty = 0,  #Criação do gráfico.
    ci.col = "lightblue", main = "Transectos", xlab = "Número de Amostras", #Definindo a variável do eixo X.
    ylab = "Número de Espécies") #Definindo a variável do eixo y.


Quais Estimadores Foram Mais Fidedignos?

Os estimadores indicam a abundância de espécies caso espaço amostral fosse maior.

chao- Foi muito acertivo na “base_t”, diferindo apenas 0.3 das 10 espécies. jack1- Se aproximou mais do real na “base_t”, diferindo 1.8 das totais 10 espécies. jack2- Foi mais acertivo na “base_t”, diferindo aproximadamente 0.87 das 10 espécies. boot- Se mostrou mais fidedigno a realidade na “base_q”, diferindo 1.35255 no total de 10 espécies. *n- indica o número de amostras.


specpool(base_q) #Etimação de riqueza do método q.
##     Species   chao  chao.se jack1 jack1.se    jack2     boot  boot.se  n
## All      10 12.025 3.089144  12.7 2.056696 13.67778 11.35255 1.588261 10


specpool(base_t) #Etimação de riqueza do método t.
##     Species chao   chao.se jack1 jack1.se    jack2    boot  boot.se  n
## All      10 10.3 0.7035624  11.8 1.272792 9.133333 11.3759 1.480355 10


Qual dos Métodos Obteve Menos Erro?

O método mais acertivo com base nos estimadores “chao”, “jack1”, “jack2” e “boot” foi o método de amostragem por transectos (t).


Índice de Diversidade de Shannon

No índice de Shannon, quanto mais alto o valor obtido maior será a diversidade e consequentemente terá distribuição mais uniforme (riqueza + abudância relativa). Este índice é mais influenciado pela riqueza das espécies, uma vez que concede maior peso para espécies raras.

O método dos quadrados apresentou maior índice de diversidade de Shannon quando comparado com o método dos transectos, os valores são, respectivamente, 2.017347 e 1.92467. Entretanto, este resultado pode ser consequência da distribuição assimétrica das espécies e abundância díspar.


Método dos Quadrados (q)

Shannon_total<-diversity(colSums(base_q), index = "shannon")
Shannon_total
## [1] 2.017347


Método dos Transectos (t)

Shannon_total<-diversity(colSums(base_t), index = "shannon")
Shannon_total
## [1] 1.92467


Índices de Diversidade de Simpson

No índice de Simpson, quanto mais alto o valor obtido maior será a diversidade e consequentemente terá distribuição mais uniforme (riqueza + abudância relativa). Este índice é mais influenciado pela abundância das espécies, visto que concede maior peso para espécies comuns. Indica qual é a chance de amostrar, dentro de uma comunidade, dois indivíduos de uma mesma espécies.

O método dos quadrados apresentou maior índice de diversidade de Simpson quando comparado com o método dos transectos os valores são, respectivamente, 0.8436499 e 0.8190825. Todavia, este resultado pode ser consequência da distribuição assimétrica das espécies e abundância díspar.


Método dos Quadrados (q)

Simpson<-diversity(colSums(base_q), index = "simpson")
Simpson
## [1] 0.8436499


Método dos Transectos (t)

Simpson<-diversity(colSums(base_t), index = "simpson")
Simpson
## [1] 0.8190825


Atividade 2

Descrição de Comunidades Biológicas 2ª Parte

Vamos analisar os dados da pesquisa da ilha de Barro Colorado, que visava estudar a dinâmica da vegetação da floresta tropical. Os dados no arquivo BCI contêm informações das árvores da ilha, enquanto BCI.env e BCI.soil contêm dados, respectivamente, de geologia (elevação, inclinação, precipitação…) e de variáveis químicas do solo (elementos presentes, pH…).


library (vegan)  #Comando que permite utilizar funções de análise de dados voltadas a ecologia.
library(BiodiversityR) #Comando que permite utilizar funções que auxiliam na análise de dados.


Explorando a Base

data (BCI)
BCI.env <- read.delim ('C:/Users/PICHAU/Documents/EcoNum/bci.env.txt', row.names = 1)
BCI.soil <- read.delim ('C:/Users/PICHAU/Documents/EcoNum/bci.soil.txt')
BCI.env
##    UTM.EW  UTM.NS elevation      convex      slope    aspectEW     aspectNS
## 1  625754 1011569  130.2525  -7.8725000  6.6948280 -0.89108252 -0.453841316
## 2  625754 1011669  136.8100 -10.7000000  5.0868422 -0.21903766 -0.975716405
## 3  625754 1011769  143.6775 -14.6675000  3.1047944  0.03051372 -0.999534348
## 4  625754 1011869  147.0075 -16.7575000  1.8728129 -0.86414183 -0.503248340
## 5  625754 1011969  144.3850 -12.4850000  5.1187247 -0.67148116  0.741021630
## 6  625854 1011569  136.8750  -9.6850000  2.9455318 -0.86532324 -0.501214210
## 7  625854 1011669  139.2450   0.2500000  3.1281253 -0.76696195 -0.641692584
## 8  625854 1011769  142.6425   0.1881250  2.8310056  0.40623791 -0.913767344
## 9  625854 1011869  145.8750   1.1296875  2.8756964  0.89684900 -0.442336821
## 10 625854 1011969  146.8500 -11.9400000  3.6070312  0.97247911  0.232990073
## 11 625954 1011569  138.5475  -5.9275000  4.6828731  0.06634526 -0.997796726
## 12 625954 1011669  141.7025   1.6921875  1.3443193 -0.83037939  0.557198416
## 13 625954 1011769  141.4525  -1.2059375  1.6267072  0.51769818 -0.855563319
## 14 625954 1011869  143.8650  -0.9268750  3.0098757 -0.09852747 -0.995134331
## 15 625954 1011969  148.0825 -11.7725000  3.1911315 -0.61468521 -0.788772525
## 16 626054 1011569  136.9950  -3.7250000  8.1498273  0.18645360 -0.982463767
## 17 626054 1011669  142.7950   2.2468750  1.2328608 -0.12752301  0.991835612
## 18 626054 1011769  141.5300  -1.9046875  0.6746578 -0.82595050  0.563742652
## 19 626054 1011869  143.6125  -1.6112500  3.0334809  0.19324151 -0.981151222
## 20 626054 1011969  148.2900 -12.7900000  3.2248613  0.53446100 -0.845193137
## 21 626154 1011569  136.3025  -1.6425000  9.5092296 -0.07254043 -0.997365473
## 22 626154 1011669  143.9100   1.6378125  1.5178770 -0.79608459  0.605185357
## 23 626154 1011769  143.9450  -1.8859375  2.6663678 -0.93742496 -0.348187379
## 24 626154 1011869  146.1950  -1.3618750  3.8745835 -0.89999003 -0.435910487
## 25 626154 1011969  148.4300 -15.6600000  3.1551052 -0.90674524 -0.421678861
## 26 626254 1011569  139.8500  -4.6900000  8.4977242 -0.40182169 -0.915717932
## 27 626254 1011669  147.4250   2.4171875  3.3517587 -0.94527357 -0.326278825
## 28 626254 1011769  149.3350   0.1465625  3.9684753 -0.95391047 -0.300091338
## 29 626254 1011869  151.8450   0.7715625  3.4537969 -0.87099631 -0.491289553
## 30 626254 1011969  153.4675 -16.2575000  4.0941636 -0.99905612 -0.043438195
## 31 626354 1011569  142.1500  -6.3300000  6.2828036  0.11641969 -0.993200108
## 32 626354 1011669  150.5550   2.7396875  3.6162685 -0.19803527 -0.980194895
## 33 626354 1011769  154.0150   1.7568750  1.7068298 -0.93770775 -0.347425062
## 34 626354 1011869  155.6175   1.4075000  1.8218061 -0.72879990 -0.684726738
## 35 626354 1011969  157.5825 -20.6525000  1.3623534 -0.63562954 -0.771994226
## 36 626454 1011569  141.8725  -4.7625000  8.4427104 -0.04988548 -0.998754945
## 37 626454 1011669  152.5125   6.3309375  4.2112577 -0.37363474 -0.927575916
## 38 626454 1011769  155.3625   4.6656250  1.5223193  0.07955920  0.996830143
## 39 626454 1011869  155.4125   2.8012500  1.7669638  0.91949390 -0.393104283
## 40 626454 1011969  156.6600 -18.3200000  2.0386916  0.92711022 -0.374788798
## 41 626554 1011569  135.6350   2.8250000 10.3727050  0.76564803 -0.643259738
## 42 626554 1011669  143.6675   3.8421875 11.8737929  0.97156717 -0.236764084
## 43 626554 1011769  146.1950   2.1687500 10.4681913  0.99999039 -0.004383192
## 44 626554 1011869  147.6000   1.8221875  7.6335651  0.97833206 -0.207041987
## 45 626554 1011969  147.8575  -8.3175000  8.5262290  0.98823960  0.152913376
## 46 626654 1011569  125.2175  13.2125000  4.9217355  0.88983586 -0.456280777
## 47 626654 1011669  129.0950  10.6550000  5.4517332  0.91536158 -0.402632819
## 48 626654 1011769  132.7125   7.1875000  5.3474854  0.93179398 -0.362987582
## 49 626654 1011869  135.8475   4.4125000  6.4017985  0.96516186 -0.261653573
## 50 626654 1011969  136.1750   4.5750000  5.7948705  0.97120609  0.238240896
BCI.soil
##      x   y        Al       B        Ca       Cu        Fe         K       Mg
## 1   50  50  901.0908 0.79448 1680.0208  6.20312 135.28696 141.88128 279.1291
## 2   50 150  954.2488 0.66968 1503.3648  6.03148 141.80804 137.23932 280.4524
## 3   50 250 1114.1122 0.59516 1182.3114  6.79768 157.08784  98.69056 230.3973
## 4   50 350 1023.5793 0.56780 1558.0202  6.63400 153.17464  98.36412 228.9468
## 5   50 450 1001.8848 0.39876 1242.2508  6.44428 149.25092  94.07208 202.6820
## 6  150  50 1091.4672 0.73120 1441.9773  6.49552 173.86820 131.89280 276.5010
## 7  150 150 1183.8837 0.34012 1111.4430  5.55292 138.26784 117.12156 242.1834
## 8  150 250 1256.1447 0.32224 1029.2103  6.28208 147.15632 104.30808 184.5147
## 9  150 350 1122.3259 0.46360 1230.2712  7.17968 153.00336 110.24420 206.6087
## 10 150 450 1171.6015 0.31404 1126.8639  6.88668 132.56612 104.81508 172.3453
## 11 250  50 1013.5624 1.50976 1873.0745  7.48400 169.34240 174.48772 345.3183
## 12 250 150 1262.3526 0.48120 1189.9041  5.33012 159.76404  89.17376 206.3466
## 13 250 250 1357.9247 0.23540 1045.2174  4.62248 177.71660  98.93424 188.1626
## 14 250 350 1212.0214 0.44020 1236.2203  6.31780 167.26568  91.46908 198.4673
## 15 250 450 1224.3872 0.58436 1366.2008  8.60500 180.59228 127.33096 193.4852
## 16 350  50  958.6041 1.02476 1628.9744  7.39196 187.20824 166.63760 262.1374
## 17 350 150 1260.5981 0.68944 1314.7934  4.80024 141.08968 110.83156 269.0626
## 18 350 250 1280.1033 0.37996  909.3261  4.78156 191.02360  84.94960 205.3593
## 19 350 350 1304.1727 0.51880 1117.5724  5.77340 157.71204 130.36940 231.7253
## 20 350 450 1125.7407 0.59432 1271.2058  6.77700 165.65836 146.50684 199.9320
## 21 450  50  804.9620 1.17772 1947.9060  8.29748 187.65200 207.58808 316.0532
## 22 450 150 1157.2663 0.70176 1414.6026  5.48304 171.20196 138.90496 250.9801
## 23 450 250 1130.7224 0.34772 1121.9840  5.29832 204.55984 111.69532 223.8185
## 24 450 350 1055.4840 0.76788 1740.2999  6.49560 183.49752 154.91056 306.9667
## 25 450 450  943.2088 0.90908 1658.3516  7.03820 149.49928 190.32096 322.9448
## 26 550  50  644.7222 0.97880 1566.8018  6.24088 165.54480 149.67524 242.2473
## 27 550 150  848.1534 0.64652 1151.2299  5.13840 138.47796 131.41020 203.5124
## 28 550 250  638.7177 0.47056 1010.5889  3.72740  94.50952 100.97304 182.0278
## 29 550 350 1013.5558 0.93808 1379.6197  6.09004 143.43312 161.64440 269.9327
## 30 550 450  841.9146 0.78008 1318.3777  5.26196 145.11908 124.21560 257.4512
## 31 650  50  836.8036 1.32640 1873.1199  7.30100 160.57508 197.62396 259.6383
## 32 650 150  994.0596 1.26224 1836.4184  7.25440 150.13084 200.43848 305.0934
## 33 650 250  707.7167 0.77364 1186.6139  4.34448 117.07408 117.20788 186.6955
## 34 650 350 1064.6256 1.17532 1656.3648  7.45520 164.64424 159.99860 286.4056
## 35 650 450 1230.4947 1.38336 1643.1194  7.82752 183.79920 168.62984 270.8634
## 36 750  50  790.1534 1.46984 2288.0281  9.32800 198.43920 221.93992 375.7485
## 37 750 150 1119.7306 1.17560 1814.7733  8.05352 175.82200 207.74720 314.9025
## 38 750 250 1102.9625 1.43692 2026.0728  7.96676 187.93804 221.69932 321.2459
## 39 750 350 1164.9511 1.46856 2032.2939  7.94704 183.26968 215.24008 376.5321
## 40 750 450 1172.9498 1.23084 1805.0447  7.14824 189.99692 175.79060 297.1220
## 41 850  50  797.2259 1.99308 3114.3613 12.13564 246.92548 310.86508 582.5601
## 42 850 150 1033.7388 1.16824 2176.3146  9.97004 223.95776 236.06648 383.7002
## 43 850 250 1166.2359 1.17224 2154.3347 10.28108 273.39360 249.97808 328.6912
## 44 850 350 1053.4426 1.24832 2222.0407  9.00388 261.28372 251.34784 348.0416
## 45 850 450  872.3968 1.83836 2721.2012  8.45536 260.26808 264.50464 455.7394
## 46 950  50  791.1177 1.25436 3189.7200  7.04104 228.12284 256.95232 620.8935
## 47 950 150  853.5622 0.94416 2272.7515  7.10896 190.71560 189.50200 400.3700
## 48 950 250  787.2073 1.32144 2623.4932 10.38720 252.47976 290.58492 433.1598
## 49 950 350  612.2286 1.76808 2986.5023 10.95828 247.31548 306.73588 548.8605
## 50 950 450  569.5315 1.73740 2872.5805  8.21896 241.44388 295.57168 537.5199
##          Mn       P       Zn        N   N.min.      pH
## 1  266.9997 1.95248  2.96948 18.46500 -3.88544 4.32432
## 2  320.4786 2.24740  2.53208 21.59896  5.64388 4.37548
## 3  445.0708 1.95484  2.24672 20.24516 -4.06408 4.34700
## 4  407.7580 2.63444  2.44284 20.84232  7.89012 4.46112
## 5  250.5403 1.86356  2.13748 16.94500  8.53716 4.40128
## 6  477.3249 1.61612  2.63148 20.29812  4.38948 4.57252
## 7  300.6756 2.12696  2.15556 20.09600  8.33632 4.55972
## 8  204.2532 3.10668  2.07284 21.50216 -0.03472 4.41168
## 9  414.7284 1.99128  2.33068 21.43224  0.05456 4.53336
## 10 329.6930 1.68548  2.05104 18.28212  7.69104 4.55500
## 11 593.4441 2.26524  4.21016 17.66160 12.43908 4.71792
## 12 411.4410 3.04908  2.65716 16.41632 12.13188 4.29640
## 13 120.3541 5.08560  2.51296 17.53460  9.99180 4.12084
## 14 341.3418 2.64316  2.46420 19.22192 11.24440 4.12820
## 15 521.1689 1.70724  2.68512 18.41064 12.54100 4.15760
## 16 393.6943 2.07072  3.30712 18.04436 20.04908 4.50452
## 17 294.6730 4.10280  2.95548 18.92764 16.21112 4.46092
## 18  97.7732 4.93916  2.59364 16.59108 15.43316 4.05204
## 19 254.2865 3.85320  2.58732 20.43300 22.67264 4.24652
## 20 360.1285 2.01588  2.67460 20.99108 15.72420 4.33736
## 21 443.9581 1.75920  4.25764 30.09788 15.87932 4.77492
## 22 258.3372 4.01948  3.19204 27.83632 20.57952 4.67260
## 23 136.7116 4.76356  3.03268 23.78884 16.47284 4.29220
## 24 320.7670 3.02600  3.44568 31.06028 14.15144 4.69712
## 25 237.8575 2.95544  4.09124 32.75832  9.87668 4.74796
## 26 334.3206 1.51060  4.92072 33.83268 19.85712 4.96144
## 27 251.5363 2.90336  4.47264 30.03868 19.38572 4.97480
## 28 101.4256 2.07696  3.82540 30.91848 12.76032 4.84068
## 29 284.2103 4.04536  5.16404 36.89956 13.94100 4.75024
## 30 209.3292 2.41024  3.87976 36.74812 11.19868 4.75976
## 31 327.8550 2.00940  5.57804 33.18100 21.85324 5.00428
## 32 336.4792 4.90372  6.42960 28.85868 22.53260 5.15908
## 33 205.4515 3.11964  4.24540 30.78876 11.04200 5.05812
## 34 388.0369 5.21556  5.91652 36.53824  7.09476 5.05132
## 35 400.3702 3.80704  5.39516 32.63108 17.11192 4.85808
## 36 486.4034 2.91232  6.84324 41.64388 22.15292 4.93364
## 37 491.5143 3.40312  6.74040 38.92268 19.59704 4.93540
## 38 548.3310 6.19656  7.36012 39.04968 15.07688 4.88152
## 39 553.7187 6.25144  7.05788 31.66516 26.97056 4.93488
## 40 404.0450 5.62520  7.08976 30.54752 29.00896 4.77104
## 41 550.8899 2.57328 10.78212 38.13780 31.46776 4.89252
## 42 529.0872 1.36512  8.96552 30.39916 26.46048 4.82900
## 43 589.4242 2.18936  8.77904 32.19116 27.47740 4.82804
## 44 525.7541 2.31204  7.83100 25.22300 39.27656 4.94864
## 45 513.5218 3.17768  9.39208 25.70404 38.14724 5.02364
## 46 371.1350 1.51256 12.97524 21.79476 37.09404 4.68412
## 47 410.1818 1.20892 10.63096 14.89032 41.35176 4.52992
## 48 516.6594 0.99936 10.92440 18.82576 42.19536 4.87296
## 49 507.5793 0.84340 11.18948 22.64272 41.89168 5.00388
## 50 367.5458 1.66460 10.58664 22.40540 38.22128 5.02052


Dimensões da Tabela

dim(BCI) 
## [1]  50 225


Quantas Espécies em Cada Amostra?

specnumber(BCI) 
##   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20 
##  93  84  90  94 101  85  82  88  90  94  87  84  93  98  93  93  93  89 109 100 
##  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40 
##  99  91  99  95 105  91  99  85  86  97  77  88  86  92  83  92  88  82  84  80 
##  41  42  43  44  45  46  47  48  49  50 
## 102  87  86  81  81  86 102  91  91  93


Quantos Indivíduos em Cada Amostra?

rowSums(BCI)
##   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20 
## 448 435 463 508 505 412 416 431 409 483 401 366 409 438 462 437 381 347 433 429 
##  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40 
## 408 418 340 392 442 407 417 387 364 475 421 459 436 447 601 430 435 447 424 489 
##  41  42  43  44  45  46  47  48  49  50 
## 402 414 407 409 444 430 425 415 427 432


Qual a Abundância de Cada Espécie?

sla<-head(colSums(BCI),n=21)
sla
##       Abarema.macradenia    Vachellia.melanoceras    Acalypha.diversifolia 
##                        1                        3                        2 
##    Acalypha.macrostachya           Adelia.triloba     Aegiphila.panamensis 
##                        1                       92                       23 
##  Alchornea.costaricensis      Alchornea.latifolia         Alibertia.edulis 
##                      156                        1                        1 
##  Allophylus.psilospermus         Alseis.blackiana        Amaioua.corymbosa 
##                       27                      983                        3 
##      Anacardium.excelsum           Andira.inermis          Annona.spraguei 
##                       22                       28                       27 
##            Apeiba.glabra         Apeiba.tibourbou  Aspidosperma.desmanthum 
##                      236                       21                       52 
## Astrocaryum.standleyanum     Astronium.graveolens        Attalea.butyracea 
##                      201                       39                       33


Curva de Acumulação de Espécies

A curva de acumulação de espécies permite identificar se o esforço amostral foi suficiente para registrar praticamente todas as espécies (para chegar no platô).

sp1<-specaccum(BCI, "random")
sp1
## Species Accumulation Curve
## Accumulation method: random, with 100 permutations
## Call: specaccum(comm = BCI, method = "random") 
## 
##                                                                             
## Sites     1.00000   2.00000   3.0000   4.00000   5.00000   6.00000   7.00000
## Richness 89.60000 121.01000 138.8000 150.70000 159.47000 166.32000 171.69000
## sd        6.10183   6.81427   7.2167   6.27565   5.58037   5.55392   5.13592
##                                                                              
## Sites      8.00000   9.00000  10.00000  11.00000  12.00000  13.00000  14.0000
## Richness 176.36000 180.25000 183.11000 186.16000 188.97000 191.23000 192.9900
## sd         4.90623   4.78291   4.52355   4.52093   4.30516   4.27077   4.2888
##                                                                               
## Sites     15.00000  16.00000  17.00000  18.00000  19.00000  20.00000  21.00000
## Richness 194.98000 196.64000 198.31000 199.87000 201.25000 202.44000 203.55000
## sd         4.07252   3.94538   4.01184   3.82352   3.64144   3.77745   3.76151
##                                                                             
## Sites     22.00000  23.00000  24.00000  25.00000  26.0000  27.00000  28.0000
## Richness 204.65000 205.88000 207.09000 208.08000 209.1900 210.21000 211.0200
## sd         3.98577   3.78535   3.83523   3.72998   3.6451   3.53709   3.3844
##                                                                            
## Sites     29.00000  30.000  31.00000  32.0000  33.00000  34.00000  35.00000
## Richness 211.83000 212.680 213.54000 214.4200 215.19000 215.95000 216.73000
## sd         3.22257   3.247   3.03655   2.9135   2.70314   2.57954   2.58533
##                                                                              
## Sites     36.00000  37.00000  38.00000  39.00000  40.00000  41.0000  42.00000
## Richness 217.40000 217.97000 218.73000 219.40000 219.99000 220.5600 221.15000
## sd         2.50656   2.32446   2.18745   2.19273   2.12961   1.9505   1.81116
##                                                                               
## Sites     43.00000  44.00000  45.00000  46.00000  47.00000  48.00000  49.00000
## Richness 221.78000 222.38000 223.01000 223.46000 223.93000 224.24000 224.62000
## sd         1.76143   1.63163   1.43192   1.25062   1.11242   0.90028   0.69311
##             
## Sites     50
## Richness 225
## sd         0


Gráfico

plot(sp1, ci.type="poly", col="blue", lwd=2, ci.lty=0, ci.col="lightblue")
boxplot(sp1, col="yellow", add=TRUE, pch="+")


library(vegan)

Curvas de Rank-abunbdância

A curva de rank-abundância possibilita a identificar espécies dominantes e raras, respectivamente, as com maior e menor abundância.

mod <- rad.lognormal(BCI[5,])
mod
## 
## RAD model: Log-Normal 
## Family: poisson 
## No. of species:  101 
## Total abundance: 505 
## 
##     log.mu  log.sigma   Deviance        AIC        BIC 
##   0.951926   1.165929  17.077549 317.656487 322.886728


Gráfico de LogNormal

plot(mod)


Direfentes Modelos

mod2 <- radfit(BCI[1,])
mod2
## 
## RAD models, family poisson 
## No. of species 93, total abundance 448
## 
##            par1      par2     par3    Deviance AIC      BIC     
## Null                                   39.5261 315.4362 315.4362
## Preemption  0.042797                   21.8939 299.8041 302.3367
## Lognormal   1.0687    1.0186           25.1528 305.0629 310.1281
## Zipf        0.11033  -0.74705          61.0465 340.9567 346.0219
## Mandelbrot  100.52   -2.312    24.084   4.2271 286.1372 293.7350


Gráficos de Varios Modelos

As linhas de tendência representam a análise da curva de rank-abundância por diferentes modelos de distribuição, cada qual considera que um parâmetro dispõe de maior relevância que outro.

plot(mod2)


Gráficos com o Pacote BiodiversityR

Os gráficos abaixo apresentam curvas de rank-abundância dos diferentes métodos de amostragem.

data(dune)
data("dune.env")
bio<-rankabuncomp(dune, dune.env, factor='Management', return.data=TRUE, specnames=c(1:2), legend=FALSE)

bio
##    Grouping  species labelit rank abundance proportion plower pupper accumfreq
## 1        BF Lolipere    TRUE    1        18       15.4    3.6   27.2      15.4
## 2        BF Trifrepe    TRUE    2        14       12.0    6.6   17.3      27.4
## 3        BF Scorautu   FALSE    3        13       11.1    0.7   21.5      38.5
## 4        BF  Poaprat   FALSE    4        12       10.3    6.3   14.2      48.7
## 5        BF  Poatriv   FALSE    5        11        9.4   -9.9   28.7      58.1
## 6        BF Bromhord   FALSE    6         8        6.8   -5.2   18.9      65.0
## 7        BF Achimill   FALSE    7         7        6.0   -5.0   17.0      70.9
## 8        BF Planlanc   FALSE    8         6        5.1   -6.9   17.1      76.1
## 9        BF Bracruta   FALSE    9         6        5.1   -9.3   19.5      81.2
## 10       BF Bellpere   FALSE   10         5        4.3   -4.0   12.5      85.5
## 11       BF Anthodor   FALSE   11         4        3.4  -10.6   17.4      88.9
## 12       BF Elymrepe   FALSE   12         4        3.4  -10.8   17.6      92.3
## 13       BF Vicilath   FALSE   13         3        2.6   -4.6    9.8      94.9
## 14       BF Alopgeni   FALSE   14         2        1.7   -5.4    8.8      96.6
## 15       BF Hyporadi   FALSE   15         2        1.7   -6.3    9.7      98.3
## 16       BF Sagiproc   FALSE   16         2        1.7   -6.3    9.7     100.0
## 17       HF  Poatriv    TRUE    1        24       11.3    8.4   14.1      11.3
## 18       HF Lolipere    TRUE    2        20        9.4    3.7   15.1      20.7
## 19       HF  Poaprat   FALSE    3        17        8.0    4.9   11.1      28.6
## 20       HF Rumeacet   FALSE    4        16        7.5    1.1   13.9      36.2
## 21       HF Planlanc   FALSE    5        15        7.0   -0.7   14.7      43.2
## 22       HF Scorautu   FALSE    6        14        6.6    5.2    8.0      49.8
## 23       HF Trifrepe   FALSE    7        14        6.6    3.3    9.8      56.3
## 24       HF Bracruta   FALSE    8        14        6.6    1.9   11.2      62.9
## 25       HF Elymrepe   FALSE    9        10        4.7   -3.6   13.0      67.6
## 26       HF Anthodor   FALSE   10         9        4.2   -0.8    9.2      71.8
## 27       HF Trifprat   FALSE   11         9        4.2   -1.4    9.9      76.1
## 28       HF Alopgeni   FALSE   12         8        3.8   -3.1   10.6      79.8
## 29       HF Juncarti   FALSE   13         8        3.8   -2.8   10.3      83.6
## 30       HF Agrostol   FALSE   14         7        3.3   -2.6    9.1      86.9
## 31       HF Achimill   FALSE   15         6        2.8   -0.3    5.9      89.7
## 32       HF Juncbufo   FALSE   16         6        2.8   -2.5    8.1      92.5
## 33       HF Eleopalu   FALSE   17         4        1.9   -3.4    7.2      94.4
## 34       HF Sagiproc   FALSE   18         4        1.9   -1.4    5.2      96.2
## 35       HF Bromhord   FALSE   19         4        1.9   -1.4    5.1      98.1
## 36       HF Bellpere   FALSE   20         2        0.9   -1.7    3.5      99.1
## 37       HF Ranuflam   FALSE   21         2        0.9   -1.7    3.6     100.0
## 38       NM Scorautu    TRUE    1        19       12.6    6.0   19.2      12.6
## 39       NM Bracruta    TRUE    2        17       11.3    2.6   19.9      23.8
## 40       NM Agrostol   FALSE    3        13        8.6   -1.2   18.4      32.5
## 41       NM Eleopalu   FALSE    4        13        8.6   -1.4   18.6      41.1
## 42       NM Salirepe   FALSE    5        11        7.3   -0.2   14.8      48.3
## 43       NM Trifrepe   FALSE    6        11        7.3   -2.0   16.6      55.6
## 44       NM Anthodor   FALSE    7         8        5.3   -3.8   14.4      60.9
## 45       NM Ranuflam   FALSE    8         8        5.3   -1.2   11.8      66.2
## 46       NM Hyporadi   FALSE    9         7        4.6   -3.8   13.1      70.9
## 47       NM Juncarti   FALSE   10         7        4.6   -2.7   12.0      75.5
## 48       NM Callcusp   FALSE   11         7        4.6   -2.8   12.1      80.1
## 49       NM Airaprae   FALSE   12         5        3.3   -2.4    9.0      83.4
## 50       NM Planlanc   FALSE   13         5        3.3   -2.6    9.2      86.8
## 51       NM  Poaprat   FALSE   14         4        2.6   -2.5    7.8      89.4
## 52       NM Comapalu   FALSE   15         4        2.6   -1.8    7.1      92.1
## 53       NM Sagiproc   FALSE   16         3        2.0   -2.9    6.9      94.0
## 54       NM Achimill   FALSE   17         2        1.3   -2.4    5.0      95.4
## 55       NM Bellpere   FALSE   18         2        1.3   -2.0    4.7      96.7
## 56       NM Empenigr   FALSE   19         2        1.3   -1.9    4.6      98.0
## 57       NM Lolipere   FALSE   20         2        1.3   -2.0    4.7      99.3
## 58       NM Vicilath   FALSE   21         1        0.7   -1.0    2.3     100.0
## 59       SF Agrostol    TRUE    1        28       13.7    7.8   19.7      13.7
## 60       SF  Poatriv    TRUE    2        28       13.7    6.3   21.1      27.5
## 61       SF Alopgeni   FALSE    3        26       12.7    4.5   21.0      40.2
## 62       SF Lolipere   FALSE    4        18        8.8   -2.1   19.8      49.0
## 63       SF  Poaprat   FALSE    5        15        7.4    0.5   14.2      56.4
## 64       SF Elymrepe   FALSE    6        12        5.9   -1.0   12.8      62.3
## 65       SF Bracruta   FALSE    7        12        5.9    0.8   10.9      68.1
## 66       SF Sagiproc   FALSE    8        11        5.4   -0.8   11.5      73.5
## 67       SF Eleopalu   FALSE    9         8        3.9   -6.3   14.1      77.5
## 68       SF Scorautu   FALSE   10         8        3.9    1.4    6.4      81.4
## 69       SF Trifrepe   FALSE   11         8        3.9    0.5    7.3      85.3
## 70       SF Juncbufo   FALSE   12         7        3.4   -2.3    9.2      88.7
## 71       SF Bellpere   FALSE   13         4        2.0   -0.9    4.8      90.7
## 72       SF Ranuflam   FALSE   14         4        2.0   -1.3    5.2      92.6
## 73       SF Juncarti   FALSE   15         3        1.5   -2.4    5.3      94.1
## 74       SF Callcusp   FALSE   16         3        1.5   -2.4    5.3      95.6
## 75       SF Bromhord   FALSE   17         3        1.5   -2.1    5.0      97.1
## 76       SF Rumeacet   FALSE   18         2        1.0   -1.5    3.5      98.0
## 77       SF Cirsarve   FALSE   19         2        1.0   -1.4    3.3      99.0
## 78       SF Achimill   FALSE   20         1        0.5   -0.9    1.9      99.5
## 79       SF Chenalbu   FALSE   21         1        0.5   -0.8    1.8     100.0
##    logabun rankfreq
## 1      1.3      6.2
## 2      1.1     12.5
## 3      1.1     18.8
## 4      1.1     25.0
## 5      1.0     31.2
## 6      0.9     37.5
## 7      0.8     43.8
## 8      0.8     50.0
## 9      0.8     56.2
## 10     0.7     62.5
## 11     0.6     68.8
## 12     0.6     75.0
## 13     0.5     81.2
## 14     0.3     87.5
## 15     0.3     93.8
## 16     0.3    100.0
## 17     1.4      4.8
## 18     1.3      9.5
## 19     1.2     14.3
## 20     1.2     19.0
## 21     1.2     23.8
## 22     1.1     28.6
## 23     1.1     33.3
## 24     1.1     38.1
## 25     1.0     42.9
## 26     1.0     47.6
## 27     1.0     52.4
## 28     0.9     57.1
## 29     0.9     61.9
## 30     0.8     66.7
## 31     0.8     71.4
## 32     0.8     76.2
## 33     0.6     81.0
## 34     0.6     85.7
## 35     0.6     90.5
## 36     0.3     95.2
## 37     0.3    100.0
## 38     1.3      4.8
## 39     1.2      9.5
## 40     1.1     14.3
## 41     1.1     19.0
## 42     1.0     23.8
## 43     1.0     28.6
## 44     0.9     33.3
## 45     0.9     38.1
## 46     0.8     42.9
## 47     0.8     47.6
## 48     0.8     52.4
## 49     0.7     57.1
## 50     0.7     61.9
## 51     0.6     66.7
## 52     0.6     71.4
## 53     0.5     76.2
## 54     0.3     81.0
## 55     0.3     85.7
## 56     0.3     90.5
## 57     0.3     95.2
## 58     0.0    100.0
## 59     1.4      4.8
## 60     1.4      9.5
## 61     1.4     14.3
## 62     1.3     19.0
## 63     1.2     23.8
## 64     1.1     28.6
## 65     1.1     33.3
## 66     1.0     38.1
## 67     0.9     42.9
## 68     0.9     47.6
## 69     0.9     52.4
## 70     0.8     57.1
## 71     0.6     61.9
## 72     0.6     66.7
## 73     0.5     71.4
## 74     0.5     76.2
## 75     0.5     81.0
## 76     0.3     85.7
## 77     0.3     90.5
## 78     0.0     95.2
## 79     0.0    100.0


Gráficos com ggplot

library(ggplot2)
library(ggrepel)
plotgg1 <- ggplot(data=bio, aes(x = rank, y = abundance)) + 
    scale_x_continuous(expand=c(0, 1), sec.axis = dup_axis(labels=NULL, name=NULL)) +
    scale_y_continuous(expand=c(0, 1), sec.axis = dup_axis(labels=NULL, name=NULL)) +
    geom_line(aes(colour=Grouping), size=1) +
    geom_point(aes(colour=Grouping, shape=Grouping), size=5, alpha=0.7) +
    geom_text_repel(data=subset(bio, labelit == TRUE), 
        aes(colour=Grouping, label=species), 
        angle=45, nudge_x=1, nudge_y=1, show.legend=FALSE) +
    scale_color_brewer(palette = "Set1") +
    labs(x = "rank", y = "abundance", colour = "Management", shape = "Management")
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
plotgg1
## Warning: ggrepel: Repulsion works correctly only for rotation angles multiple of
## 90 degrees

RA.data <- rankabuncomp(dune, y=dune.env, factor='Management', 
    return.data=TRUE, specnames=c(1:10), legend=FALSE)

View(RA.data)
plotgg2 <- ggplot(data=RA.data, aes(x = rank, y = abundance)) + 
    scale_x_continuous(expand=c(0, 1), sec.axis = dup_axis(labels=NULL, name=NULL)) +
    scale_y_continuous(expand=c(0, 1), sec.axis = dup_axis(labels=NULL, name=NULL)) +
    geom_line(aes(colour=Grouping), size=1) +
    geom_point(aes(colour=Grouping), size=5, alpha=0.7) +
    geom_text_repel(data=subset(RA.data, labelit == TRUE), 
        aes(label=species), 
        angle=45, nudge_x=1, nudge_y=1, show.legend=FALSE) +
    scale_color_brewer(palette = "Set1") +
    facet_wrap(~ Grouping) +
    labs(x = "rank", y = "abundance", colour = "Management")

plotgg2
## Warning: ggrepel: Repulsion works correctly only for rotation angles multiple of 90 degrees
## ggrepel: Repulsion works correctly only for rotation angles multiple of 90 degrees
## ggrepel: Repulsion works correctly only for rotation angles multiple of 90 degrees
## ggrepel: Repulsion works correctly only for rotation angles multiple of 90 degrees


Descrição de Comunidades Culinárias 2ª Parte

library (vegan)  #Comando que permite utilizar funções de análise de dados voltadas a ecologia.
library(BiodiversityR) #Comando que permite utilizar funções que auxiliam na análise de dados.


Tabela

base<-read.csv("C:/Users/PICHAU/Documents/EcoNum/com_cul.csv", row.names = 1) #Caminho para acessar a tabela. Depois a primeira coluna foi transformada no nome das linhas/espécies.
base #Esse comando mostra a tabela.
##              q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10
## arroz_c       0  1  7  6  1  4  4  1  1   5  3  8  5  6  3  0  0  0  0   3
## arroz_e       1  0  0  1  0  0  8  4  0   3  0  1  8  1  1  0  0  0  1   0
## milho         0  0  0  0  0  0  0  0  0   0  0  0  0  0  0  0  0  0  0   0
## ervilha       0  0  1  0  0  0  1  0  0   0  0  0  1  0  0  0  0  0  0   0
## feijao_preto  0  0  0  0  0  0  0  0  0   0  0  0  6  0  0  0  0  0  0   0
## carioca_c     0  0  1  1  0  0  0  0  0   0  0  0  0  0  0  2  0  0  0   1
## carioca_e     0  0  0  2  2  0  0  0  0   8  0  0  0  0  0  0  0  0  0   0
## mac_paraf     0  0  0  0  0  0  0  0  0   0  0  0  0  0  0  0  1  0  0   0
## mac_tubo      0  0  0  0  0  0  0  0  0   0  0  0  0  0  0  0  0  0  0   0
## mac_espag     0  0  0  3  1  0  0  0  6   4 16  9  0  0  0  0  2  2  1   0


Tabela do Método Quadrado (q)

base_q<-base[,1:10] #Separando os dados obtidos a partir do método q.
base_q #Esse comando mostra a tabela de q.
##              q1 q2 q3 q4 q5 q6 q7 q8 q9 q10
## arroz_c       0  1  7  6  1  4  4  1  1   5
## arroz_e       1  0  0  1  0  0  8  4  0   3
## milho         0  0  0  0  0  0  0  0  0   0
## ervilha       0  0  1  0  0  0  1  0  0   0
## feijao_preto  0  0  0  0  0  0  0  0  0   0
## carioca_c     0  0  1  1  0  0  0  0  0   0
## carioca_e     0  0  0  2  2  0  0  0  0   8
## mac_paraf     0  0  0  0  0  0  0  0  0   0
## mac_tubo      0  0  0  0  0  0  0  0  0   0
## mac_espag     0  0  0  3  1  0  0  0  6   4


dim(base_q) 
## [1] 10 10


Quantas Espécies em Cada Amostra do Método q?

specnumber(base_q) 
##      arroz_c      arroz_e        milho      ervilha feijao_preto    carioca_c 
##            9            5            0            2            0            2 
##    carioca_e    mac_paraf     mac_tubo    mac_espag 
##            3            0            0            4


Quantos Indivíduos em Cada Amostra do Método q?

rowSums(base_q)
##      arroz_c      arroz_e        milho      ervilha feijao_preto    carioca_c 
##           30           17            0            2            0            2 
##    carioca_e    mac_paraf     mac_tubo    mac_espag 
##           12            0            0           14


Qual a Abundância de Cada Espécie do Método q?

colSums(base_q)
##  q1  q2  q3  q4  q5  q6  q7  q8  q9 q10 
##   1   1   9  13   4   4  13   5   7  20


Tabela do Método Transecto (t)

base_t<-base[,11:20] #Separando os dados obtidos a partir do método t.
base_t #Esse comando mostra a tabela de t.
##              t1 t2 t3 t4 t5 t6 t7 t8 t9 t10
## arroz_c       3  8  5  6  3  0  0  0  0   3
## arroz_e       0  1  8  1  1  0  0  0  1   0
## milho         0  0  0  0  0  0  0  0  0   0
## ervilha       0  0  1  0  0  0  0  0  0   0
## feijao_preto  0  0  6  0  0  0  0  0  0   0
## carioca_c     0  0  0  0  0  2  0  0  0   1
## carioca_e     0  0  0  0  0  0  0  0  0   0
## mac_paraf     0  0  0  0  0  0  1  0  0   0
## mac_tubo      0  0  0  0  0  0  0  0  0   0
## mac_espag    16  9  0  0  0  0  2  2  1   0

Dimensões da Tabela do Método t

dim(base_t) 
## [1] 10 10


Quantas Espécies em Cada Amostra do Método t?

specnumber(base_t) 
##      arroz_c      arroz_e        milho      ervilha feijao_preto    carioca_c 
##            6            5            0            1            1            2 
##    carioca_e    mac_paraf     mac_tubo    mac_espag 
##            0            1            0            5


Quantos Indivíduos em Cada Amostra do Método t?

rowSums(base_t)
##      arroz_c      arroz_e        milho      ervilha feijao_preto    carioca_c 
##           28           12            0            1            6            3 
##    carioca_e    mac_paraf     mac_tubo    mac_espag 
##            0            1            0           30


Qual a Abundância de Cada Espécie do Método t?

colSums(base_t)
##  t1  t2  t3  t4  t5  t6  t7  t8  t9 t10 
##  19  18  20   7   4   2   3   2   2   4


Curva de Acumulação de Espécies

A curva de acumulação de espécies permite identificar se o esforço amostral foi suficiente para registrar praticamente todas as espécies (para chegar no platô). Em ambos os métodos não foi possível atingir o platô, logo não conseguiram amostar todas as espécies da ilha.

Método q

spc1<-specaccum(base_q, "random")
spc1
## Species Accumulation Curve
## Accumulation method: random, with 100 permutations
## Call: specaccum(comm = base_q, method = "random") 
## 
##                                                                             
## Sites    1.0000000 2.000000 3.000000 4.0000000 5.0000000 6.0000000 7.0000000
## Richness 2.4600000 4.350000 5.650000 7.1500000 7.8700000 8.3400000 8.8800000
## sd       2.8653979 3.046359 2.808267 2.1242943 1.8458526 1.5905021 1.3278676
##                               
## Sites    8.000000 9.0000000 10
## Richness 9.340000 9.6900000 10
## sd       0.934415 0.6620293  0


plot(spc1, ci.type="poly", col="blue", lwd=2, ci.lty=0, ci.col="lightblue")
boxplot(spc1, col="yellow", add=TRUE, pch="+")


Método t

spc2<-specaccum(base_t, "random")
spc2
## Species Accumulation Curve
## Accumulation method: random, with 100 permutations
## Call: specaccum(comm = base_t, method = "random") 
## 
##                                                                            
## Sites    1.0000000 2.000000 3.0000000 4.0000000 5.000000 6.000000 7.0000000
## Richness 2.6400000 4.310000 5.7300000 6.9200000 7.900000 8.590000 9.0900000
## sd       2.2675578 2.517394 2.3734857 2.1958639 1.702642 1.450148 1.1728839
##                                
## Sites    8.0000000 9.0000000 10
## Richness 9.6000000 9.8500000 10
## sd       0.6816498 0.3588703  0


plot(spc2, ci.type="poly", col="blue", lwd=2, ci.lty=0, ci.col="lightblue")
boxplot(spc1, col="yellow", add=TRUE, pch="+")


library(vegan)


Curvas de Rank-abunbdância

A curva de rank-abundância possibilita a identificar espécies dominantes e raras, respectivamente, as com maior e menor abundância. Sob este prisma, podemos constatar que há uma espécie muito abundante e cerca de metade são espécies com baixíssimas abundância em ambos os métodos. Tal característica corresponde ao modelo de rank-abundância, uma vez que são poucas espécies dominantes e muitas espécies raras.


Método q

modc <- rad.lognormal(base_q[1,])
modc
## 
## RAD model: Log-Normal 
## Family: poisson 
## No. of species:  9 
## Total abundance: 30 
## 
##      log.mu   log.sigma    Deviance         AIC         BIC 
##  0.98510067  0.76152350  2.42545824 31.90253757 32.29698672


Gráfico de LogNormal

plot(modc)


Direfentes Modelos

modc2 <- radfit(base_q[1,]) #Comando que ajusta os modelos de distribuição.
modc2
## 
## RAD models, family poisson 
## No. of species 9, total abundance 30
## 
##            par1      par2         par3         Deviance AIC      BIC     
## Null                                            2.94948 28.42655 28.42655
## Preemption  0.248851                            1.89475 29.37183 29.56906
## Lognormal   0.985101  0.761524                  2.42546 31.90254 32.29699
## Zipf        0.293451 -0.799675                  3.92920 33.40628 33.80073
## Mandelbrot     Inf   -2.94752e+06  1.07273e+07  1.69219 33.16927 33.76094


Gráficos de Varios Modelos

As linhas de tendência representam a análise da curva de rank-abundância por diferentes modelos de distribuição, cada qual considera que um parâmetro dispõe de maior relevância que outro.

plot(modc2)


Método t

modc1 <- rad.lognormal(base_t[1,])
modc1
## 
## RAD model: Log-Normal 
## Family: poisson 
## No. of species:  6 
## Total abundance: 28 
## 
##      log.mu   log.sigma    Deviance         AIC         BIC 
##  1.46807882  0.45788666  0.42385791 24.47552782 24.05904676


Gráfico de LogNormal

plot(modc1)


Direfentes Modelos

As linhas de tendência representam a análise da curva de rank-abundância por diferentes modelos de distribuição, cada qual considera que um parâmetro dispõe de maior relevância que outro.

modc3 <- radfit(base_t[1,])
modc3
## 
## RAD models, family poisson 
## No. of species 6, total abundance 28
## 
##            par1      par2      par3     Deviance  AIC       BIC      
## Null                                     5.764348 25.816017 25.816017
## Preemption  0.260556                     1.593537 23.645207 23.436967
## Lognormal   1.46808   0.457887           0.423858 24.475528 24.059047
## Zipf        0.298747 -0.595461           0.294246 24.345916 23.929435
## Mandelbrot  0.924975 -1.09784   1.88078  0.232612 26.284282 25.659560


Gráficos de Varios Modelos

As linhas de tendência representam a análise da curva de rank-abundância por diferentes modelos de distribuição, cada qual considera que um parâmetro dispõe de maior relevância que outro.

plot(modc3)


Gráficos alternativos

Dispersão

O método dos quadrantes apresenta distribuição mais uniforme em comparação ao método dos transectos, indicando uma abndância mais bem distribuida.

colSums(base_q)
##  q1  q2  q3  q4  q5  q6  q7  q8  q9 q10 
##   1   1   9  13   4   4  13   5   7  20
colSums(base_t)
##  t1  t2  t3  t4  t5  t6  t7  t8  t9 t10 
##  19  18  20   7   4   2   3   2   2   4
par(mfrow=c(1,2))
plot(colSums(base_q), ci.type="poly", col="lightgreen", lwd=2, ci.lty=0, ci.col="lightgreen", main = "Abundância dos quadrantes", xlab = "Amostras", ylab = "Abundância")
## Warning in plot.window(...): "ci.type" não é um parâmetro gráfico
## Warning in plot.window(...): "ci.lty" não é um parâmetro gráfico
## Warning in plot.window(...): "ci.col" não é um parâmetro gráfico
## Warning in plot.xy(xy, type, ...): "ci.type" não é um parâmetro gráfico
## Warning in plot.xy(xy, type, ...): "ci.lty" não é um parâmetro gráfico
## Warning in plot.xy(xy, type, ...): "ci.col" não é um parâmetro gráfico
## Warning in axis(side = side, at = at, labels = labels, ...): "ci.type" não é um
## parâmetro gráfico
## Warning in axis(side = side, at = at, labels = labels, ...): "ci.lty" não é um
## parâmetro gráfico
## Warning in axis(side = side, at = at, labels = labels, ...): "ci.col" não é um
## parâmetro gráfico
## Warning in axis(side = side, at = at, labels = labels, ...): "ci.type" não é um
## parâmetro gráfico
## Warning in axis(side = side, at = at, labels = labels, ...): "ci.lty" não é um
## parâmetro gráfico
## Warning in axis(side = side, at = at, labels = labels, ...): "ci.col" não é um
## parâmetro gráfico
## Warning in box(...): "ci.type" não é um parâmetro gráfico
## Warning in box(...): "ci.lty" não é um parâmetro gráfico
## Warning in box(...): "ci.col" não é um parâmetro gráfico
## Warning in title(...): "ci.type" não é um parâmetro gráfico
## Warning in title(...): "ci.lty" não é um parâmetro gráfico
## Warning in title(...): "ci.col" não é um parâmetro gráfico
plot(colSums(base_t), ci.type="poly", col="lightblue", lwd=2, ci.lty=0, ci.col="lightgreen", main = "Abundância dos transectos", xlab = "Amostras", ylab = "Abundância")
## Warning in plot.window(...): "ci.type" não é um parâmetro gráfico
## Warning in plot.window(...): "ci.lty" não é um parâmetro gráfico
## Warning in plot.window(...): "ci.col" não é um parâmetro gráfico
## Warning in plot.xy(xy, type, ...): "ci.type" não é um parâmetro gráfico
## Warning in plot.xy(xy, type, ...): "ci.lty" não é um parâmetro gráfico
## Warning in plot.xy(xy, type, ...): "ci.col" não é um parâmetro gráfico
## Warning in axis(side = side, at = at, labels = labels, ...): "ci.type" não é um
## parâmetro gráfico
## Warning in axis(side = side, at = at, labels = labels, ...): "ci.lty" não é um
## parâmetro gráfico
## Warning in axis(side = side, at = at, labels = labels, ...): "ci.col" não é um
## parâmetro gráfico
## Warning in axis(side = side, at = at, labels = labels, ...): "ci.type" não é um
## parâmetro gráfico
## Warning in axis(side = side, at = at, labels = labels, ...): "ci.lty" não é um
## parâmetro gráfico
## Warning in axis(side = side, at = at, labels = labels, ...): "ci.col" não é um
## parâmetro gráfico
## Warning in box(...): "ci.type" não é um parâmetro gráfico
## Warning in box(...): "ci.lty" não é um parâmetro gráfico
## Warning in box(...): "ci.col" não é um parâmetro gráfico
## Warning in title(...): "ci.type" não é um parâmetro gráfico
## Warning in title(...): "ci.lty" não é um parâmetro gráfico
## Warning in title(...): "ci.col" não é um parâmetro gráfico

Curva de Rarefação

rare <- specaccum(base_q, method = "rarefaction")
rare1 <- specaccum(base_t, method = "rarefaction")
par(mfrow=c(1,2))
plot(rare, ci.type="poly", col="lightgreen", lwd=2, ci.lty=0, main = "Rarefação dos quadrantes", xlab = "Número de Amostras", ylab = "Número de Espécies")
plot(rare1, ci.type="poly", col="lightblue", lwd=2, ci.lty=0, main = "Rarefação dos transectos", xlab = "Número de Amostras", ylab = "Número de Espécies")


Medidas de Diversidade

As comunidades biológicas são uma rica fonte de dados, devido as suas estruturas complexas. Todavia, a descrição destas comunidades, frequentemente, se baseia na riqueza e na abundância das espécies. Essas informações podem diferir de acordo com o método de amostragem, amostra e/ou com a comunidade, sendo a variação analisada para determinar se é ou não significativa. Nesta atividade será utilizado abundância, riqueza e índices de diversidade.


library(ecodados) #Comando que permite utilizar funções que auxiliam na análise de dados voltadas a ecologia.
library(devtools) #Comando que permite utilizar funções que auxiliam na análise de dados.
library (vegan) #Comando que permite utilizar funções de análise de dados voltadas a ecologia.
library(ggplot2) #Comando que permite utilizar funções que auxiliam na visualização dos dados na forma de gráficos.
library(BiodiversityR) #Comando que permite utilizar funções que auxiliam na análise de dados.
## Dados
composicao_especies <- ecodados::composicao_anuros_div_taxonomica
precipitacao        <- ecodados::precipitacao_div_taxonomica


Explorando a Base

composicao_especies #Visualizar a tabela.
##        sp1 sp2 sp3 sp4 sp5 sp6 sp7 sp8 sp9 sp10
## Com_1   10  10  10  10  10  10  10  10  10   10
## Com_2   91   1   1   1   1   1   1   1   1    1
## Com_3    1   3   6  25   1   0   0   0   0    0
## Com_4    0   0   0   0   0  15  15  18  17   16
## Com_5    0   9   0   6   0  11   0   2  12    0
## Com_6    3   0   5   0  12   1   0  13  12    0
## Com_7    0   0   2   0   0   0   2   0   0    0
## Com_8   12   0   0   0   0   3   0   3   2    0
## Com_9    2   1   0   2   0   3   3   4   0    0
## Com_10   0   4   1   0   4   0   0   2   0    0


Dimensões da Tabela

dim(composicao_especies)
## [1] 10 10


Número de Linhas da Tabela

nrow(composicao_especies)
## [1] 10


Número de Colunas da Tabela

ncol(composicao_especies)
## [1] 10


Abundância de Indivíduos de Cada Espécie

Foi obtida a partir da soma das linhas de cada espécie.

rowSums(composicao_especies) 
##  Com_1  Com_2  Com_3  Com_4  Com_5  Com_6  Com_7  Com_8  Com_9 Com_10 
##    100    100     36     81     40     46      4     20     15     11


Abundância de Indivíduos de Cada Amostra

Foi obtida a partir da soma das colunas de cada amostra.

colSums(composicao_especies)
##  sp1  sp2  sp3  sp4  sp5  sp6  sp7  sp8  sp9 sp10 
##  119   28   25   44   28   44   31   53   54   27


Curvas de Rank-abundância das Comunidades

Vamos analisar a diferença de abundância entre as espécies e ranquear as espécies em cada comunidade.


Comunidade 1

rank_com1 <- rankabundance(composicao_especies[1, composicao_especies[1,] > 0]) #Escolhendo a parte da tabela para fazer o gráfico da comunidade 1.
## Warning in qt(0.975, df = n - 1): NaNs produzidos
rankabunplot(rank_com1, scale = "logabun", specnames = c(1), 
             pch = 19, col = "darkorange") #Criando o gráfico de rank abundância da comunidade 1.


Comunidade 2

rank_com2 <- rankabundance(composicao_especies[2, composicao_especies[2,] > 0]) 
## Warning in qt(0.975, df = n - 1): NaNs produzidos
rankabunplot(rank_com2, scale = "logabun", specnames = c(1), 
             pch = 19, col = "darkorange")


Comunidade 3

rank_com3 <- rankabundance(composicao_especies[3, composicao_especies[3,] > 0]) 
## Warning in qt(0.975, df = n - 1): NaNs produzidos
rankabunplot(rank_com3, scale = "logabun", specnames = c(1), 
             pch = 19, col = "darkorange")


Comunidade 4

rank_com4 <- rankabundance(composicao_especies[4, composicao_especies[4,] > 0]) 
## Warning in qt(0.975, df = n - 1): NaNs produzidos
rankabunplot(rank_com4, scale = "logabun", specnames = c(1), 
             pch = 19, col = "darkorange")


Comunidade 5

rank_com5 <- rankabundance(composicao_especies[5, composicao_especies[5,] > 0]) 
## Warning in qt(0.975, df = n - 1): NaNs produzidos
rankabunplot(rank_com5, scale = "logabun", specnames = c(1), 
             pch = 19, col = "darkorange")


Comunidade 6

rank_com6 <- rankabundance(composicao_especies[6, composicao_especies[6,] > 0]) 
## Warning in qt(0.975, df = n - 1): NaNs produzidos
rankabunplot(rank_com6, scale = "logabun", specnames = c(1), 
             pch = 19, col = "darkorange")


Comunidade 7

rank_com7 <- rankabundance(composicao_especies[7, composicao_especies[7,] > 0]) 
## Warning in qt(0.975, df = n - 1): NaNs produzidos
rankabunplot(rank_com7, scale = "logabun", specnames = c(1), 
             pch = 19, col = "darkorange")


Comunidade 8

rank_com8 <- rankabundance(composicao_especies[8, composicao_especies[8,] > 0]) 
## Warning in qt(0.975, df = n - 1): NaNs produzidos
rankabunplot(rank_com8, scale = "logabun", specnames = c(1), 
             pch = 19, col = "darkorange")


Comunidade 9

rank_com9 <- rankabundance(composicao_especies[9, composicao_especies[9,] > 0]) 
## Warning in qt(0.975, df = n - 1): NaNs produzidos
rankabunplot(rank_com9, scale = "logabun", specnames = c(1), 
             pch = 19, col = "darkorange")


Comunidade 10

rank_com10 <- rankabundance(composicao_especies[10, composicao_especies[10,] > 0]) 
## Warning in qt(0.975, df = n - 1): NaNs produzidos
rankabunplot(rank_com10, scale = "logabun", specnames = c(1), 
             pch = 19, col = "darkorange")


Calculo de Índices de Diversidade de Espécies.

Os índices de diversidade variam de acordo com a importância concedida a cada parâmetro. Serão utilizados alguns índices para analizar as comunidades selecionadas.


Riqueza

riqueza_res <- specnumber(composicao_especies)
riqueza_res
##  Com_1  Com_2  Com_3  Com_4  Com_5  Com_6  Com_7  Com_8  Com_9 Com_10 
##     10     10      5      5      5      6      2      4      6      4
plot(riqueza_res)


Shannon

shannon_res <- diversity(composicao_especies, index = "shannon", MARGIN = 1)
shannon_res
##      Com_1      Com_2      Com_3      Com_4      Com_5      Com_6      Com_7 
## 2.30258509 0.50028804 0.95801090 1.60686589 1.48618945 1.56070384 0.69314718 
##      Com_8      Com_9     Com_10 
## 1.10588988 1.71408754 1.26365443
plot(shannon_res)


Simpson

simpson_res <- diversity(composicao_especies, index = "simpson", MARGIN = 1) 
simpson_res
##      Com_1      Com_2      Com_3      Com_4      Com_5      Com_6      Com_7 
## 0.90000000 0.17100000 0.48148148 0.79896357 0.75875000 0.76748582 0.50000000 
##      Com_8      Com_9     Com_10 
## 0.58500000 0.80888889 0.69421488
plot(simpson_res)


Relação dos Índices com a Precipitação

Vamos avaliar a relação dos índices de diversidade das comunidades com a precipitação.

precipitacao
##        prec
## Com_1  3200
## Com_2  3112
## Com_3  2800
## Com_4  1800
## Com_5  2906
## Com_6  3005
## Com_7   930
## Com_8  1000
## Com_9  1300
## Com_10  987

Shannon

dados_div <- data.frame(precipitacao$prec, riqueza_res,shannon_res, 
                        simpson_res) ## Juntando todos os dados em uma única base.

colnames(dados_div) <- c("Precipitacao", "Riqueza", "Shannon", "Simpson") ## Renomeando as colunas.

anova_shan <- lm(Shannon ~ Precipitacao, data = dados_div)
anova(anova_shan) #Teste anova shannon.
## Analysis of Variance Table
## 
## Response: Shannon
##              Df   Sum Sq  Mean Sq F value  Pr(>F)
## Precipitacao  1 0.109892 0.109892 0.36273 0.56367
## Residuals     8 2.423655 0.302957

Simpson

anova_simp <- lm(Simpson ~ Precipitacao, data = dados_div)
anova(anova_simp) #Teste anova simpson.
## Analysis of Variance Table
## 
## Response: Simpson
##              Df   Sum Sq   Mean Sq F value  Pr(>F)
## Precipitacao  1 0.001325 0.0013248  0.0252 0.87781
## Residuals     8 0.420643 0.0525804

Riqueza

anova_riq <- lm(Riqueza ~ Precipitacao, data = dados_div)
anova(anova_riq) #Teste anova riqueza.
## Analysis of Variance Table
## 
## Response: Riqueza
##              Df  Sum Sq Mean Sq F value   Pr(>F)  
## Precipitacao  1 30.6224 30.6224 8.91561 0.017443 *
## Residuals     8 27.4776  3.4347                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1


Gráficos da Relação Índices de Diversidade com a Precipitação

Shannon

par(mfrow=c(2,2))
plot(anova_shan)


Simpson

par(mfrow=c(2,2))
plot(anova_simp)


Riqueza

par(mfrow=c(2,2))
plot(anova_riq)


Exercício Extra

Rarefação (Cap. 10)

library(iNEXT)
library(devtools)
library(ecodados)
library(ggplot2)
library(vegan)
library(nlme)
## 
## Attaching package: 'nlme'
## The following object is masked from 'package:dplyr':
## 
##     collapse
library(dplyr)
library(piecewiseSEM)
## 
##   This is piecewiseSEM version 2.1.0.
## 
## 
##   Questions or bugs can be addressed to <LefcheckJ@si.edu>.
ex1 <- ecodados::Cap10_exercicio1
ex1
##      Fragmento Pasto Borda Cana
## sp1          5     0     6    0
## sp2          4     5     1    0
## sp3          4     0     3    0
## sp4          1    25     5   20
## sp5          6     0    12   12
## sp6          1     0     5    0
## sp7          0     4     3  100
## sp8          5     0     4    0
## sp9         14     0     1    0
## sp10         8    20    12    0
## sp11         5     0    11    0
## sp12         3     1     3    0
## sp13         1     0    15    0
## sp14         1     1     2    0
## sp15         1     2    15   15
## sp16         7     0     3    0
## sp17        25     2     5    5

Exercício 1

Número de Indivíduos de Cada Ambiente

colSums(ex1)
## Fragmento     Pasto     Borda      Cana 
##        91        60       106       152

Rarefação

É possível afirmar que as comunidades de borda e de fragmento são mais ricas que o de cana (não há sobreposição). Não é possível comparar com segurança as comunidades de fragmento e borda, igualmente as de cana e pasto.


res_ex1 <- iNEXT(ex1, q = 0, 
                             datatype = "abundance", endpoint = 300)
ggiNEXT(res_ex1, type = 1) +
  geom_vline(xintercept = 60, lty = 2) +
  scale_linetype_discrete(labels = c("Interpolado", "Extrapolado")) +
  scale_colour_manual(values = c("darkblue", "darkmagenta", "red4", "black")) +
  scale_fill_manual(values = c("darkblue", "darkmagenta", "red4", "black")) +
  labs(x = "Número de indivíduos", y = " Riqueza de espécies") +
  theme_bw(base_size = 16)
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for fill is already present.
## Adding another scale for fill, which will replace the existing scale.

Exercício 2

ex2 <- ecodados::Cap10_exercicio2
head(ex2)
##          Fragmento Pasto Borda Cana
## amostras        10    14    10    9
## sp1              5     0     2    0
## sp2              1     5     1    0
## sp3              4     0     3    0
## sp4              1    14     5    1
## sp5              6     0     3    1

Rarefação

É possível afirmar que as comunidades de borda e de fragmento são maiores que o de pasto (não há sobreposição). Não é possível comparar com segurança as comunidades de fragmento e borda, igualmente as de cana e pasto.


res_ex2 <- iNEXT(ex2, q = 0, 
                                datatype = "incidence_freq", endpoint = 30)
ggiNEXT(res_ex2, type = 1) +
  geom_vline(xintercept = 9, lty = 2) +
  scale_linetype_discrete(labels = c("Interpolado", "Extrapolado")) +
  scale_colour_manual(values = c("darkblue", "darkmagenta", "red4", "black")) +
  scale_fill_manual(values = c("darkblue", "darkmagenta", "red4", "black")) +
  labs(x = "Número de amostras", y = " Riqueza de espécies") +
  theme_bw(base_size = 16)
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for fill is already present.
## Adding another scale for fill, which will replace the existing scale.

Exercício 3

Rarefação com a Cobertura de Abundância

É possível afirmar que as comunidades de borda e de fragmento são mais ricas que o de cana (não há sobreposição). Não é possível comparar com segurança as comunidades de fragmento e borda, igualmente as de cana e pasto.


res_ex1 <- iNEXT(ex1, q = 0, 
                             datatype = "abundance", endpoint = 300)
ggiNEXT(res_ex1, type = 3) + 
    scale_linetype_discrete(labels = c("Interpolado", "Extrapolado")) +
    scale_colour_manual(values = c("darkblue", "darkmagenta", "red4", "black")) +
    scale_fill_manual(values = c("darkblue", "darkmagenta", "red4", "black")) +
    labs(x = "Representatividade da abundância", y = "Riqueza de espécies") +
    theme_bw(base_size = 16)
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for fill is already present.
## Adding another scale for fill, which will replace the existing scale.

Rarefação com a Cobertura das Amostras

É possível afirmar que as comunidades de borda e de fragmento são maiores que o de pasto (não há sobreposição). Não é possível comparar com segurança as comunidades de fragmento e borda, igualmente as de cana e pasto.


res_ex2 <- iNEXT(ex2, q = 0, 
                                datatype = "incidence_freq", endpoint = 30)
ggiNEXT(res_ex2, type = 3) + 
    scale_linetype_discrete(labels = c("Interpolado", "Extrapolado")) +
    scale_colour_manual(values = c("darkblue", "darkmagenta", "red4", "black")) +
    scale_fill_manual(values = c("darkblue", "darkmagenta", "red4", "black")) +
    labs(x = "Representatividade das amostras", y = "Riqueza de espécies") +
    theme_bw(base_size = 16)
## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.
## Scale for fill is already present.
## Adding another scale for fill, which will replace the existing scale.

Estimadores de Riqueza (Cap. 11)

Exercício 1

exe1 <- ecodados::Cap11_exercicio1

Estimadores de Abundância

Os estimadores Chao 1 e ACE indicam a possibilidade de haver mais espécies a serem encontradas, caso o esforço amostral fosse maior. O estimador ACE não aponta tendência ao platô, enquanto o Chao 1 mostra certa tendência ao platô. Faz-se necessário aumentar o esforço amostral.


est_abun <- estaccumR(exe1, permutations = 100)
resultados_abun <- summary(est_abun 
                          , display = c("S", "chao", "ace"))
res_abun <- cbind(resultados_abun$chao[, 1:4], resultados_abun$ace[, 2:4], 
                 resultados_abun$S[, 2:4])
res_abun <- as.data.frame(res_abun)
colnames(res_abun) <- c("Amostras", "Chao", "C_inferior", "C_superior", 
                       "ace", "A_inferior", "A_superior",
                        "Riqueza", "R_inferior", "R_superior")
ggplot(res_abun, aes(y = Riqueza, x = Amostras)) +
    geom_point(aes(y = Chao, x = Amostras + 0.1), size = 4, 
               color = "darkorange", alpha = 1) +
    geom_point(aes(y = ace, x = Amostras + 0.2), size = 4, 
               color = "cyan4", alpha = 1) +
    geom_point(aes(y = Riqueza, x = Amostras), size = 4, 
               color = "black", alpha = 1) +
    geom_point(y = 150, x = 1, size = 4, color = "darkorange", alpha = 1) + 
    geom_point(y = 135, x = 1, size = 4, color = "cyan4", alpha = 1) + 
    geom_point(y = 120, x = 1, size = 4, color = "black", alpha = 1) +
    geom_label(y = 150, x = 4.4, label = "Chao 1", size = 5) +
    geom_label(y = 135, x = 3.9, label = "ACE", size = 5) +
    geom_label(y = 120, x = 7.3, label = "Riqueza observada", size = 5) + 
    geom_line(aes(y = Chao, x = Amostras), color = "darkorange") +
    geom_line(aes(y = ace, x = Amostras), color = "cyan4") +
    geom_line(aes(y = Riqueza, x = Amostras), color = "black") +
    geom_linerange(aes(ymin = C_inferior, ymax = C_superior,
                       x = Amostras + 0.1), color = "darkorange") +
    geom_linerange(aes(ymin = A_inferior, ymax = A_superior,
                       x = Amostras + 0.2), color = "cyan4") +
    geom_linerange(aes(ymin = R_inferior, ymax = R_superior,
                       x = Amostras), color = "black") +
    scale_x_continuous(limits = c(1, 31), breaks = seq(1, 31, 1)) +
    labs (x = "Número de amostras", y = "Riqueza de espécies de besouros") +
    theme_bw(base_size = 12) +
    theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())

Exercício 2

Estimadores de Incidência

Os estimadores Jackknife 1 e Booststrap indicam a possibilidade de haver mais espécies a serem encontradas, caso o esforço amostral fosse maior, não apontando tendência ao platô. Faz-se necessário aumentar o esforço amostral.


est_inc <- poolaccum(exe1, permutations = 100)
resultados_inc <- summary(est_inc 
                          , display = c("S", "jack1", "boot"))
res_inc <- cbind(resultados_inc$jack1[, 1:4], resultados_inc$boot[, 2:4], 
                 resultados_inc$S[, 2:4])
res_inc <- as.data.frame(res_inc)
colnames(res_inc) <- c("Amostras", "jack1", "j_inferior", "j_superior", 
                       "boot", "B_inferior", "B_superior",
                        "Riqueza", "R_inferior", "R_superior")
ggplot(res_inc, aes(y = Riqueza, x = Amostras)) +
    geom_point(aes(y = jack1, x = Amostras + 0.1), size = 4, 
               color = "darkorange", alpha = 1) +
    geom_point(aes(y = boot, x = Amostras + 0.2), size = 4, 
               color = "cyan4", alpha = 1) +
    geom_point(aes(y = Riqueza, x = Amostras), size = 4, 
               color = "black", alpha = 1) +
    geom_point(y = 70, x = 1, size = 4, color = "darkorange", alpha = 1) + 
    geom_point(y = 65, x = 1, size = 4, color = "cyan4", alpha = 1) + 
    geom_point(y = 60, x = 1, size = 4, color = "black", alpha = 1) +
    geom_label(y = 70, x = 4.9, label = "Jackknife 1", size = 5) +
    geom_label(y = 65, x = 4.6, label = "Bootstrap", size = 5) +
    geom_label(y = 60, x = 6.7, label = "Riqueza observada", size = 5) + 
    geom_line(aes(y = jack1, x = Amostras), color = "darkorange") +
    geom_line(aes(y = boot, x = Amostras), color = "cyan4") +
    geom_line(aes(y = Riqueza, x = Amostras), color = "black") +
    geom_linerange(aes(ymin = j_inferior, ymax = j_superior,
                       x = Amostras + 0.1), color = "darkorange") +
    geom_linerange(aes(ymin = B_inferior, ymax = B_superior,
                       x = Amostras + 0.2), color = "cyan4") +
    geom_linerange(aes(ymin = R_inferior, ymax = R_superior,
                       x = Amostras), color = "black") +
    scale_x_continuous(limits = c(1, 31), breaks = seq(1, 31, 1)) +
    labs (x = "Número de amostras", y = "Riqueza de espécies de besouros") +
    theme_bw(base_size = 12) +
    theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())