Capítulo 12
library(devtools)
library(devtools)
library(ecodados)
library(vegan)
library(ggplot2)
library(BiodiversityR)
library(hillR)
library(betapart)
composicao_especies <- ecodados::composicao_anuros_div_taxonomica
precipitacao <- ecodados::precipitacao_div_taxonomica
Ver os dados das comunidades
head(composicao_especies)
## 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
Calculando a riqueza observada de espécies para cada comunidade
riqueza_sp <- specnumber(composicao_especies)
riqueza_sp
## 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
Calculamos a abundância total para cada comunidade
abundancia <- apply(composicao_especies, 1, sum)
abundancia
## 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
Índice de Margalef
Margalef <- round((riqueza_sp - 1)/log(abundancia), 2)
Margalef
## Com_1 Com_2 Com_3 Com_4 Com_5 Com_6 Com_7 Com_8 Com_9 Com_10
## 1.95 1.95 1.12 0.91 1.08 1.31 0.72 1.00 1.85 1.25
Índice de Menhinick
Menhinick <- round(riqueza_sp/sqrt(abundancia), 2)
Menhinick
## Com_1 Com_2 Com_3 Com_4 Com_5 Com_6 Com_7 Com_8 Com_9 Com_10
## 1.00 1.00 0.83 0.56 0.79 0.88 1.00 0.89 1.55 1.21
Relação entre a riqueza de espécies e a precipitação anual.
dados <- data.frame(precipitacao$prec, riqueza_sp, Margalef, Menhinick)
colnames(dados) <- c("Precipitacao", "Riqueza", "Margalef", "Menhinick")
anova_riq <- lm(Riqueza ~ Precipitacao, data = dados)
anova(anova_riq)
## Analysis of Variance Table
##
## Response: Riqueza
## Df Sum Sq Mean Sq F value Pr(>F)
## Precipitacao 1 30.622 30.6224 8.9156 0.01744 *
## Residuals 8 27.478 3.4347
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Relação entre o Índice de Margalef e a precipitação anual.
anova_marg <- lm(Margalef ~ Precipitacao, data = dados)
anova(anova_marg)
## Analysis of Variance Table
##
## Response: Margalef
## Df Sum Sq Mean Sq F value Pr(>F)
## Precipitacao 1 0.37865 0.37865 2.1201 0.1835
## Residuals 8 1.42879 0.17860
Relação entre o índice de Menhinick e a precipitação anual.
anova_menh <- lm(Menhinick ~ Precipitacao, data = dados)
anova(anova_menh)
## Analysis of Variance Table
##
## Response: Menhinick
## Df Sum Sq Mean Sq F value Pr(>F)
## Precipitacao 1 0.07626 0.076262 1.0992 0.3251
## Residuals 8 0.55503 0.069378
Resultados da riqueza de espécies ao longo do gradiente de precipitação anual
ggplot(data = dados, aes(x= Precipitacao, y= Riqueza)) +
labs(x = "Precipitação anual (mm)", y = "Riqueza de espécies") +
geom_point(size = 4, shape = 21, fill = "darkorange", alpha = 0.7) +
geom_smooth(method = lm, se = FALSE, color = "black") +
tema_livro()
## `geom_smooth()` using formula = 'y ~ x'
Diversidade de espécies para cada comunidade a partir da planilha de composição de espécies.
# Índice de 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 Com_8
## 2.3025851 0.5002880 0.9580109 1.6068659 1.4861894 1.5607038 0.6931472 1.1058899
## Com_9 Com_10
## 1.7140875 1.2636544
índice Gini-Simpson
# Índice de 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 Com_8
## 0.9000000 0.1710000 0.4814815 0.7989636 0.7587500 0.7674858 0.5000000 0.5850000
## Com_9 Com_10
## 0.8088889 0.6942149
Índice de Pielou
Pielou <- shannon_res/log(specnumber(composicao_especies))
dados_div <- data.frame(precipitacao$prec, shannon_res,
simpson_res, Pielou)
colnames(dados_div) <- c("Precipitacao", "Shannon", "Simpson", "Pielou")
Relação entre o índice de Shannon-Wiener e a precipitação anual nas comunidades.
anova_shan <- lm(Shannon ~ Precipitacao, data = dados_div)
anova(anova_shan)
## Analysis of Variance Table
##
## Response: Shannon
## Df Sum Sq Mean Sq F value Pr(>F)
## Precipitacao 1 0.10989 0.10989 0.3627 0.5637
## Residuals 8 2.42366 0.30296
Relação entre o índice de Simpson e a precipitação anual nas comunidades.
anova_simp <- lm(Simpson ~ Precipitacao, data = dados_div)
anova(anova_simp)
## Analysis of Variance Table
##
## Response: Simpson
## Df Sum Sq Mean Sq F value Pr(>F)
## Precipitacao 1 0.00132 0.001325 0.0252 0.8778
## Residuals 8 0.42064 0.052580
Relação entre o índice de Pielou e a precipitação anual nas comunidades.
anova_piel <- lm(Pielou ~ Precipitacao, data = dados_div)
anova(anova_piel)
## Analysis of Variance Table
##
## Response: Pielou
## Df Sum Sq Mean Sq F value Pr(>F)
## Precipitacao 1 0.09080 0.090798 1.5792 0.2443
## Residuals 8 0.45997 0.057496
Distribuição relativa das espécies por comunidade
rank_com2 <- rankabundance(composicao_especies[2, composicao_especies[2,] > 0])
## Warning in qt(0.975, df = n - 1): NaNs produzidos
rank_com3 <- rankabundance(composicao_especies[3, composicao_especies[3,] > 0])
## Warning in qt(0.975, df = n - 1): NaNs produzidos
rankabunplot(rank_com2, scale = "logabun", specnames = c(1),
pch = 19, col = "darkorange")
rankabunplot(rank_com3, scale = "logabun", specnames = c(1), pch = 19,
xlim = c(0,10), addit = TRUE, col = "cyan4" , legend = TRUE)
## Warning in plot.xy(xy.coords(x, y), type = type, ...): "legend" não é um
## parâmetro gráfico
legend(5, 40, legend = c("Comunidade 2", "Comunidade 3"),
col = c("darkorange", "cyan4"), lty = 1, cex = 0.8, box.lty = 0)
Comunidade 2
curvas_dominancia_com2 <- radfit(composicao_especies[2,])
curvas_dominancia_com2
##
## RAD models, family poisson
## No. of species 10, total abundance 100
##
## par1 par2 par3 Deviance AIC BIC
## Null 175.242 199.592 199.592
## Preemption 0.68962 79.560 105.910 106.213
## Lognormal -0.65366 3.2485 47.350 75.701 76.306
## Zipf 0.83829 -3.0254 26.612 54.963 55.568
## Mandelbrot 0.83829 -3.0254 1.644e-07 26.612 56.963 57.871
Predições dos modelos
plot(curvas_dominancia_com2,
ylab = "Abundância",
xlab = "Ranqueamento das espécies")
Dados considerando todas as comunidades
curvas_dominancia_todas <- radfit(composicao_especies)
curvas_dominancia_todas
##
## Deviance for RAD models:
##
## Com_1 Com_2 Com_3 Com_4 Com_5
## Null 8.2193e+01 1.7524e+02 8.9085e+00 4.2265e+01 4.9719e+00
## Preemption 2.2878e+01 7.9560e+01 1.5423e+00 1.4332e+01 3.0438e+00
## Lognormal 1.7764e-15 4.7350e+01 1.0161e+00 2.9441e-02 1.9303e+00
## Zipf -1.7764e-15 2.6612e+01 2.1659e-01 1.5846e-02 3.6094e+00
## Mandelbrot -1.7764e-15 2.6612e+01 2.0926e-01 1.1390e-02 1.8740e+00
## Com_6 Com_7 Com_8 Com_9 Com_10
## Null 4.7099e+00 1.1507e+00 1.8998e+00 2.7703e+00 1.1146
## Preemption 4.5536e+00 7.7259e-01 1.7847e+00 9.2518e-01 0.7428
## Lognormal 4.8898e+00 -2.2053e-25 1.4556e+00 2.0626e-01 0.5079
## Zipf 8.3245e+00 -2.2073e-25 6.6938e-01 4.7931e-01 0.8730
## Mandelbrot 4.1132e+00 0.0000e+00 6.6938e-01 2.3634e-01 0.4456
plot(curvas_dominancia_todas, log = "y")
Número de Hill para as comunidades
#q = 0
hill_res_q_0 <- hill_taxa(composicao_especies, q = 0)
hill_res_q_0
## 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
#q = 1
hill_res_q_1 <- hill_taxa(composicao_especies, q = 1)
hill_res_q_1
## Com_1 Com_2 Com_3 Com_4 Com_5 Com_6 Com_7 Com_8
## 10.000000 1.649196 2.606507 4.987156 4.420220 4.762172 2.000000 3.021912
## Com_9 Com_10
## 5.551608 3.538328
#q = 2
hill_res_q_2 <- hill_taxa(composicao_especies, q = 2)
hill_res_q_2
## Com_1 Com_2 Com_3 Com_4 Com_5 Com_6 Com_7 Com_8
## 10.000000 1.206273 1.928571 4.974223 4.145078 4.300813 2.000000 2.409639
## Com_9 Com_10
## 5.232558 3.270270
Resultados
res_hill <- data.frame(hill_res_q_0, hill_res_q_1, hill_res_q_2)
colnames(res_hill) <- c("q=0", "q=1", "q=2")
head(res_hill)
## q=0 q=1 q=2
## Com_1 10 10.000000 10.000000
## Com_2 10 1.649196 1.206273
## Com_3 5 2.606507 1.928571
## Com_4 5 4.987156 4.974223
## Com_5 5 4.420220 4.145078
## Com_6 6 4.762172 4.300813
Dados de abundância em presença e ausência
composicao_PA <- decostand(composicao_especies, method = "pa")
Diversidade beta
resultado_PA <- beta.pair(composicao_PA, index.family = "sorensen")
Resultados da diversidade beta total.
resultado_PA$beta.sor
## Com_1 Com_2 Com_3 Com_4 Com_5 Com_6 Com_7
## Com_2 0.0000000
## Com_3 0.3333333 0.3333333
## Com_4 0.3333333 0.3333333 1.0000000
## Com_5 0.3333333 0.3333333 0.6000000 0.4000000
## Com_6 0.2500000 0.2500000 0.4545455 0.4545455 0.4545455
## Com_7 0.6666667 0.6666667 0.7142857 0.7142857 1.0000000 0.7500000
## Com_8 0.4285714 0.4285714 0.7777778 0.3333333 0.3333333 0.2000000 1.0000000
## Com_9 0.2500000 0.2500000 0.4545455 0.4545455 0.2727273 0.5000000 0.7500000
## Com_10 0.4285714 0.4285714 0.3333333 0.7777778 0.5555556 0.4000000 0.6666667
## Com_8 Com_9
## Com_2
## Com_3
## Com_4
## Com_5
## Com_6
## Com_7
## Com_8
## Com_9 0.4000000
## Com_10 0.7500000 0.6000000
data.frame_PA <- data.frame(round(as.numeric(resultado_PA$beta.sor), 2),
round(as.numeric(resultado_PA$beta.sim), 2),
round(as.numeric(resultado_PA$beta.sne), 2))
colnames(data.frame_PA) <- c("Sorensen", "Simpson", "Aninhamento")
head(data.frame_PA)
## Sorensen Simpson Aninhamento
## 1 0.00 0 0.00
## 2 0.33 0 0.33
## 3 0.33 0 0.33
## 4 0.33 0 0.33
## 5 0.25 0 0.25
## 6 0.67 0 0.67
Dissimilaridade
prec_dis <- vegdist(precipitacao, method = "euclidian")
dados_prec <- as.numeric(prec_dis)
dados_dis <- data.frame(dados_prec, data.frame_PA)
head(dados_dis)
## dados_prec Sorensen Simpson Aninhamento
## 1 88 0.00 0 0.00
## 2 400 0.33 0 0.33
## 3 1400 0.33 0 0.33
## 4 294 0.33 0 0.33
## 5 195 0.25 0 0.25
## 6 2270 0.67 0 0.67
Relação entre as diferenças na composição de espécies e precipitação nas comunidades.
#Avaliar a relação entre os valores de diversidade beta total (Sørensen) e precipitação.
anova_sore <-lm(Sorensen ~ dados_prec, data = dados_dis)
anova(anova_sore)
## Analysis of Variance Table
##
## Response: Sorensen
## Df Sum Sq Mean Sq F value Pr(>F)
## dados_prec 1 0.00188 0.001877 0.0358 0.8508
## Residuals 43 2.25264 0.052387
# Avaliar a relação entre os valores do componente substituição (Simpson) e precipitação
anova_simp <-lm(Simpson ~ dados_prec, data = dados_dis)
anova(anova_simp)
## Analysis of Variance Table
##
## Response: Simpson
## Df Sum Sq Mean Sq F value Pr(>F)
## dados_prec 1 0.1403 0.140342 1.4905 0.2288
## Residuals 43 4.0488 0.094157
# Avaliar a relação entre os valores do componente aninhamento e precipitação
anova_anin <-lm(Aninhamento ~ dados_prec, data = dados_dis)
anova(anova_anin)
## Analysis of Variance Table
##
## Response: Aninhamento
## Df Sum Sq Mean Sq F value Pr(>F)
## dados_prec 1 0.17467 0.17467 6.4006 0.01515 *
## Residuals 43 1.17349 0.02729
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Componente aninhamento da diversidade beta
ggplot(data = dados_dis, aes(x = dados_prec, y = Aninhamento)) +
geom_point(size = 4, shape = 21, fill = "darkorange") +
geom_smooth(method = lm, se = FALSE, color = "black") +
labs(x = "Diferença precipitação (mm)",
y = "Componente aninhamento da\n diversidade beta") +
tema_livro()
## `geom_smooth()` using formula = 'y ~ x'
Diversidade beta para abundância
resultado_AB <- beta.pair.abund(composicao_especies, index.family = "bray")
data.frame_AB <- data.frame(round(as.numeric(resultado_AB$beta.bray), 2),
round(as.numeric(resultado_AB$beta.bray.bal), 2),
round(as.numeric(resultado_AB$beta.bray.gra), 2))
colnames(data.frame_AB) <- c("Bray", "Balanceada", "Gradiente")
head(data.frame_AB)
## Bray Balanceada Gradiente
## 1 0.81 0.81 0.00
## 2 0.69 0.42 0.27
## 3 0.45 0.38 0.06
## 4 0.47 0.07 0.40
## 5 0.47 0.15 0.31
## 6 0.92 0.00 0.92
dados_dis_AB <- data.frame(dados_prec, data.frame_AB)
Relação da dissimilaridade considerando a abundância com a diferença na precipitação entre as comunidades
# Avaliar a relação entre os valores de diversidade beta total e precipitação
anova_dis_AB <- lm(Bray ~ dados_prec, data = dados_dis_AB)
anova(anova_dis_AB)
## Analysis of Variance Table
##
## Response: Bray
## Df Sum Sq Mean Sq F value Pr(>F)
## dados_prec 1 0.01782 0.017815 0.8441 0.3634
## Residuals 43 0.90755 0.021106
# Avaliar a relação entre os valores do componente balanceada e precipitação
anova_balan <- lm(Balanceada ~ dados_prec, data = dados_dis_AB)
anova(anova_balan)
## Analysis of Variance Table
##
## Response: Balanceada
## Df Sum Sq Mean Sq F value Pr(>F)
## dados_prec 1 0.48761 0.48761 7.0742 0.01094 *
## Residuals 43 2.96391 0.06893
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Avaliar a relação entre os valores do componente gradiente e precipitação
anova_grad <- lm(Gradiente ~ dados_prec, data = dados_dis_AB)
anova(anova_grad)
## Analysis of Variance Table
##
## Response: Gradiente
## Df Sum Sq Mean Sq F value Pr(>F)
## dados_prec 1 0.68981 0.68981 18.705 8.903e-05 ***
## Residuals 43 1.58575 0.03688
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Variação balanceada da diversidade beta
ggplot(data = dados_dis_AB, aes(x = dados_prec, y = Balanceada)) +
geom_point(size = 4, shape = 21, fill = "darkorange") +
geom_smooth(method = lm, se = FALSE, color = "black") +
labs(x = "Diferença precipitação (mm)",
y = "Componente variação balanceada\n da diversidade beta") +
tema_livro()
## `geom_smooth()` using formula = 'y ~ x'
Variação gradiente da diversidade beta
ggplot(data = dados_dis_AB, aes(x = dados_prec, y = Gradiente)) +
geom_point(size = 4, shape = 21, fill = "darkorange") +
geom_smooth(method = lm, se = FALSE, color = "black") +
labs(x = "Diferença precipitação anual (mm)",
y = "Componente gradiente de abundância\n da diversidade beta") +
tema_livro()
## `geom_smooth()` using formula = 'y ~ x'
Comunidades Culinárias
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
base<-read.csv("https://raw.githubusercontent.com/fplmelo/ecoaplic/main/content/collection/eco_num/com_cul.csv", row.names = 1) # atenção, use o caminho onde você guardou a base que baixou anteriormente
base
## 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
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 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
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
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.000000 2.000000 3.000000 4.000000 5.000000 6.000000 7.00000 8.000000
## Richness 2.880000 4.670000 5.830000 6.750000 7.710000 8.250000 8.74000 9.140000
## sd 2.797113 3.025331 2.785442 2.656705 2.031544 1.731322 1.37525 1.163589
##
## Sites 9.000000 10
## Richness 9.650000 10
## sd 0.672324 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.000000 2.000000 3.000000 4.000000 5.000000 6.000000 7.000000
## Richness 2.180000 4.230000 5.650000 6.730000 7.850000 8.600000 9.110000
## sd 2.244544 2.549926 2.244522 2.150194 1.684001 1.263313 0.930895
##
## Sites 8.000000 9.000000 10
## Richness 9.450000 9.840000 10
## sd 0.715979 0.368453 0
plot(spc2, ci.type="poly", col="blue", lwd=2, ci.lty=0, ci.col="lightblue")
boxplot(spc1, col="yellow", add=TRUE, pch="+")
Curvas de Rank-abundâ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.9851007 0.7615235 2.4254582 31.9025376 32.2969867
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.9495 28.4266 28.4266
## Preemption 0.24885 1.8948 29.3718 29.5691
## Lognormal 0.9851 0.76152 2.4255 31.9025 32.2970
## Zipf 0.29345 -0.79967 3.9292 33.4063 33.8007
## Mandelbrot Inf -2.9475e+06 1.0727e+07 1.6922 33.1693 33.7609
Gráficos de Vários 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.4680788 0.4578867 0.4238579 24.4755278 24.0590468
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.76435 25.81602 25.81602
## Preemption 0.26056 1.59354 23.64521 23.43697
## Lognormal 1.4681 0.45789 0.42386 24.47553 24.05905
## Zipf 0.29875 -0.59546 0.29425 24.34592 23.92943
## Mandelbrot 0.92497 -1.0978 1.8808 0.23261 26.28428 25.65956
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")
Í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.
Riqueza
Foi obtido maior riqueza com o método T (7 espécies), contudo as espécies tiveram suas abundâcias muito altas ou muito baixas. O método Q teve menos espécies (6), todavia houve maior equilíbrio, em geral, quanto a abundância de cada espécie. Em ambos os métodos as espécies com maior abundância foram, em ordem decrescente, arroz_c, arroz_e e mac_espag.
Método Q
riqueza_resq <- specnumber(base_q)
riqueza_resq
## 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
plot(riqueza_resq)
Método T
riqueza_rest <- specnumber(base_t)
riqueza_rest
## 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
plot(riqueza_rest)
Shannon
Por conta do índice de Shannon ser mais sensível para a presença das espécies comuns, o método Q demonstrou índices mais elevados.
Método Q
shannon_resq <- diversity(base_q, index = "shannon", MARGIN = 1)
shannon_resq
## arroz_c arroz_e milho ervilha feijao_preto carioca_c
## 1.9508816 1.3345930 0.0000000 0.6931472 0.0000000 0.6931472
## carioca_e mac_paraf mac_tubo mac_espag
## 0.8675632 0.0000000 0.0000000 1.2396594
plot(shannon_resq)
Método T
shannon_rest <- diversity(base_t, index = "shannon", MARGIN = 1)
shannon_rest
## arroz_c arroz_e milho ervilha feijao_preto carioca_c
## 1.7136049 1.0986123 0.0000000 0.0000000 0.0000000 0.6365142
## carioca_e mac_paraf mac_tubo mac_espag
## 0.0000000 0.0000000 0.0000000 1.1708964
plot(shannon_rest)
Simpson
Devido ao índice de Simpson favorecer mais a presença de espécies dominantes, os resultados do método T foram mais baixos. Isto se deve justamente ao fato de ter mais espécies raras e menos abundância de espécies dominantes.
Método Q
simpson_resq <- diversity(base_q, index = "simpson", MARGIN = 1)
simpson_resq
## arroz_c arroz_e milho ervilha feijao_preto carioca_c
## 0.8377778 0.6851211 1.0000000 0.5000000 1.0000000 0.5000000
## carioca_e mac_paraf mac_tubo mac_espag
## 0.5000000 1.0000000 1.0000000 0.6836735
plot(simpson_resq)
Método T
simpson_rest <- diversity(base_t, index = "simpson", MARGIN = 1)
simpson_rest
## arroz_c arroz_e milho ervilha feijao_preto carioca_c
## 0.8061224 0.5277778 1.0000000 0.0000000 0.0000000 0.4444444
## carioca_e mac_paraf mac_tubo mac_espag
## 1.0000000 0.0000000 1.0000000 0.6155556
plot(simpson_rest)
Número de Hill
Em ambos os métodos o resultado caiu conforme a mudança do número de Hill (do 0 em direção ao 2), sendo as espécies mais comuns e dominantes as que tiveram maior queda. Isso ocorre devido a sensibilidade de cada número de Hill ser mais sensível a gruas diferentes de abundância (q=0: raras; q=1: comuns; q=2: abundantes). A maior diferença entre os métodos foi de 3 pontos.
Método Q
q = 0
hill_mq_q_0 <- hill_taxa(base_q, q = 0)
hill_mq_q_0
## 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
q = 1
hill_mq_q_1 <- hill_taxa(base_q, q = 1)
hill_mq_q_1
## arroz_c arroz_e milho ervilha feijao_preto carioca_c
## 7.034887 3.798449 1.000000 2.000000 1.000000 2.000000
## carioca_e mac_paraf mac_tubo mac_espag
## 2.381102 1.000000 1.000000 3.454437
q = 2
hill_mq_q_2 <- hill_taxa(base_q, q = 2)
hill_mq_q_2
## arroz_c arroz_e milho ervilha feijao_preto carioca_c
## 6.164384 3.175824 Inf 2.000000 Inf 2.000000
## carioca_e mac_paraf mac_tubo mac_espag
## 2.000000 Inf Inf 3.161290
resq_hill <- data.frame(hill_mq_q_0, hill_mq_q_1, hill_mq_q_2)
colnames(resq_hill) <- c("q=0", "q=1", "q=2")
resq_hill
## q=0 q=1 q=2
## arroz_c 9 7.034887 6.164384
## arroz_e 5 3.798449 3.175824
## milho 0 1.000000 Inf
## ervilha 2 2.000000 2.000000
## feijao_preto 0 1.000000 Inf
## carioca_c 2 2.000000 2.000000
## carioca_e 3 2.381102 2.000000
## mac_paraf 0 1.000000 Inf
## mac_tubo 0 1.000000 Inf
## mac_espag 4 3.454437 3.161290
Método T
q = 0
hill_mt_q_0 <- hill_taxa(base_t, q = 0)
hill_mt_q_0
## 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
q = 1
hill_mt_q_1 <- hill_taxa(base_t, q = 1)
hill_mt_q_1
## arroz_c arroz_e milho ervilha feijao_preto carioca_c
## 5.548929 3.000000 1.000000 1.000000 1.000000 1.889882
## carioca_e mac_paraf mac_tubo mac_espag
## 1.000000 1.000000 1.000000 3.224882
q = 2
hill_mt_q_2 <- hill_taxa(base_t, q = 2)
hill_mt_q_2
## arroz_c arroz_e milho ervilha feijao_preto carioca_c
## 5.157895 2.117647 Inf 1.000000 1.000000 1.800000
## carioca_e mac_paraf mac_tubo mac_espag
## Inf 1.000000 Inf 2.601156
rest_hill <- data.frame(hill_mt_q_0, hill_mt_q_1, hill_mt_q_2)
colnames(rest_hill) <- c("q=0", "q=1", "q=2")
rest_hill
## q=0 q=1 q=2
## arroz_c 6 5.548929 5.157895
## arroz_e 5 3.000000 2.117647
## milho 0 1.000000 Inf
## ervilha 1 1.000000 1.000000
## feijao_preto 1 1.000000 1.000000
## carioca_c 2 1.889882 1.800000
## carioca_e 0 1.000000 Inf
## mac_paraf 1 1.000000 1.000000
## mac_tubo 0 1.000000 Inf
## mac_espag 5 3.224882 2.601156