#Analisando o efeito da Regeneração natural sobre as comunidades de nematoides#

library(vegan)
## Warning: package 'vegan' was built under R version 4.1.3
## Carregando pacotes exigidos: permute
## Warning: package 'permute' was built under R version 4.1.2
## Carregando pacotes exigidos: lattice
## This is vegan 2.5-7
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.1.2
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5     v purrr   0.3.4
## v tibble  3.1.6     v dplyr   1.0.7
## v tidyr   1.2.0     v stringr 1.4.0
## v readr   2.1.2     v forcats 0.5.1
## Warning: package 'ggplot2' was built under R version 4.1.2
## Warning: package 'tibble' was built under R version 4.1.2
## Warning: package 'tidyr' was built under R version 4.1.3
## Warning: package 'readr' was built under R version 4.1.2
## Warning: package 'purrr' was built under R version 4.1.2
## Warning: package 'dplyr' was built under R version 4.1.2
## Warning: package 'stringr' was built under R version 4.1.2
## Warning: package 'forcats' was built under R version 4.1.2
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
library(forcats)
library(iNEXT)
## Warning: package 'iNEXT' was built under R version 4.1.2
setwd("C:/Users/italo/OneDrive/TCC")
comunidades<-read.delim("dadostccR.txt")
comunidades
##          Cepha Rhabd Aphi Aphil Parap Dory Nygo Anato Monon Crico Praty Hoplo
## Inicial    107     2   30     2     3    9    0     0     0     0     0     0
## Medio      324     6   24     0     2   21    0     2     1    15     0     7
## Final      425     0    9     0     0   16    0     0     6     0     0     0
## Controle   158     0   24     0     0    8    2     2    10    30     6   376
##          Longi
## Inicial      0
## Medio        2
## Final        2
## Controle    19
############
#Vendo riqueza de espécies de cada área
riqueza <- specnumber(comunidades)
riqueza
##  Inicial    Medio    Final Controle 
##        6       10        5       10
###########
#Vendo riqueza total ou riqueza gama (quantas espécies/famílias você tem)
riqueza_total <- specnumber(colSums(comunidades))
riqueza_total
## [1] 13
#############
#Vendo diversidade para cada área
#Shannon 
Shannon <- diversity(comunidades, index = "shannon")
Shannon
##   Inicial     Medio     Final  Controle 
## 0.9266990 0.8471557 0.3443120 1.2302335
#Simpson 
Simpson <- diversity(comunidades, index = "simpson")
Simpson
##   Inicial     Medio     Final  Controle 
## 0.4682814 0.3486178 0.1371160 0.5824044
#VENDO DIVERSIDADE TOTAL (O QUE VOCÊ NA AMOSTRA TODA)
# Shannon
Shannon_total <- diversity(colSums(comunidades), index = "shannon")
Shannon_total
## [1] 1.204937
# Simpson 
Simpson_total <- diversity(colSums(comunidades), index = "simpson")
Simpson_total
## [1] 0.5635034
#Equitabilidade
J <- Shannon / log(riqueza)
J
##   Inicial     Medio     Final  Controle 
## 0.5172006 0.3679150 0.2139331 0.5342836
#Equitabilidade total
J_total <- Shannon_total / log(riqueza_total)
J_total
## [1] 0.4697702
#Séries de Hill e perfil de diversidade
R <- renyi(comunidades, 
           hill = TRUE)

R
##           0     0.25      0.5        1        2        4        8       16
## Inicial   6 4.564605 3.573254 2.526157 1.880694 1.607599 1.504846 1.464406
## Medio    10 6.534801 4.302619 2.333002 1.535197 1.342067 1.286848 1.265393
## Final     5 3.184023 2.163629 1.411019 1.158904 1.104846 1.089221 1.083033
## Controle 10 7.169354 5.291109 3.422028 2.394661 1.990646 1.819860 1.748873
##                32       64      Inf
## Inicial  1.446497 1.438046 1.429907
## Medio    1.255821 1.251289 1.246914
## Final    1.080250 1.078927 1.077647
## Controle 1.717621 1.702936 1.688830
#mapeando isso em um mapa de diversidade
g1 <- R %>%  
  rownames_to_column() %>% 
  pivot_longer(-rowname) %>% 
  mutate(name = factor(name, name[1:length(R)])) %>% 
  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 = 16))

g1

#Distribuição de abundância
abund <- colSums(comunidades)

# Retire a # do início para rodar apenas para o local 1 
# mude o número para o local que quiser.

# abund <- comunidade[1, ] 

df <- data.frame(sp = colnames(comunidades), abun =abund) 
                 
g2 <- 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"
  ))
g2

#Curva de rarefação
comunidade2 <- t(comunidades)

# Mude o q para 1 para comparar a diversidade de Shannon e para 2 para Simpson
out <- iNEXT(comunidade2, q =0 ,
             datatype = "abundance",
             size = seq(0, 100, length.out=20))
## Warning in if (class(x) == "numeric") {: a condição tem comprimento > 1 e
## somente o primeiro elemento será usado
## Warning in if (class(x) == "integer") {: a condição tem comprimento > 1 e
## somente o primeiro elemento será usado
## Warning in if (class(x) == "list") {: a condição tem comprimento > 1 e somente o
## primeiro elemento será usado
## Warning in if (class(x)[1] == "matrix" | class(x) == "data.frame") {: a condição
## tem comprimento > 1 e somente o primeiro elemento será usado
## Warning in if (class(x) == "numeric") {: a condição tem comprimento > 1 e
## somente o primeiro elemento será usado
## Warning in if (class(x) == "integer") {: a condição tem comprimento > 1 e
## somente o primeiro elemento será usado
## Warning in if (class(x) == "list") {: a condição tem comprimento > 1 e somente o
## primeiro elemento será usado
## Warning in if (class(x)[1] == "matrix" | class(x) == "data.frame") {: a condição
## tem comprimento > 1 e somente o primeiro elemento será usado
## Warning in if (class(x) == "numeric") {: a condição tem comprimento > 1 e
## somente o primeiro elemento será usado
## Warning in if (class(x) == "integer") {: a condição tem comprimento > 1 e
## somente o primeiro elemento será usado
## Warning in if (class(x) == "list") {: a condição tem comprimento > 1 e somente o
## primeiro elemento será usado
## Warning in if (class(x)[1] == "matrix" | class(x) == "data.frame") {: a condição
## tem comprimento > 1 e somente o primeiro elemento será usado
## Warning in if (class(x) == "numeric" | class(x) == "integer") {: a condição tem
## comprimento > 1 e somente o primeiro elemento será usado
## Warning in if (class(x) == "list") {: a condição tem comprimento > 1 e somente o
## primeiro elemento será usado
## Warning in if (class(x)[1] == "matrix" | class(x) == "data.frame") {: a condição
## tem comprimento > 1 e somente o primeiro elemento será usado
g3 <- ggiNEXT(out, type = 1) +
  theme_bw() +
  labs(fill = "Áreas") +
  xlab("Número de indivíduos") + 
  ylab("Riqueza de espécies") +
  theme(legend.title=element_blank())

g3

#Elaborando curva de rank-abundancia 
library(RADanalysis)
## Warning: package 'RADanalysis' was built under R version 4.1.2
setwd("C:/Users/italo/OneDrive/TCC")
nema_rankabund <- read.table("dadostccR.txt")
comunidades <- (rad.lognormal(nema_rankabund))
plot(comunidades)

########elaborando curva do coletor
library(vegan)
library(BiodiversityR)
## Warning: package 'BiodiversityR' was built under R version 4.1.2
## Carregando pacotes exigidos: tcltk
## BiodiversityR 2.14-1: Use command BiodiversityRGUI() to launch the Graphical User Interface; 
## to see changes use BiodiversityRGUI(changeLog=TRUE, backward.compatibility.messages=TRUE)
setwd("C:/Users/italo/OneDrive/TCC")
comunidades <- read.delim("dadostccR.txt")
specnumber(comunidades)
##  Inicial    Medio    Final Controle 
##        6       10        5       10
rowSums(comunidades)
##  Inicial    Medio    Final Controle 
##      153      404      458      635
colSums(comunidades)
## Cepha Rhabd  Aphi Aphil Parap  Dory  Nygo Anato Monon Crico Praty Hoplo Longi 
##  1014     8    87     2     5    54     2     4    17    45     6   383    23
curva <-specaccum(comunidades, "random")
## 'nperm' >= set of all permutations: complete enumeration.
## Set of permutations < 'minperm'. Generating entire set.
curva
## Species Accumulation Curve
## Accumulation method: random, with 23 permutations
## Call: specaccum(comm = comunidades, method = "random") 
## 
##                                         
## Sites    1.000000  2.000000  3.000000  4
## Richness 7.826087 10.652174 12.304348 13
## sd       2.348155  1.668115  0.822125  0
plot(curva, ci.type="poly", col="blue", lwd=2, ci.lty=0, ci.col="lightgrey")
boxplot(curva, col="white", add=TRUE, pch="+")

library(vegan)
data(comunidades)
## Warning in data(comunidades): data set 'comunidades' not found
jaccard <- betadiver(comunidades, "j")
jaccard
##            Inicial     Medio     Final
## Medio    0.4545455                    
## Final    0.3750000 0.5000000          
## Controle 0.2307692 0.6666667 0.5000000
mean(jaccard)
## [1] 0.4544969
distancia <- vegdist(comunidades, method="jaccard")
cluster <- hclust(distancia)
plot(cluster)