library (vegan)
## Carregando pacotes exigidos: permute
## Carregando pacotes exigidos: lattice
## This is vegan 2.6-2
library(BiodiversityR)
## Warning: package 'BiodiversityR' was built under R version 4.2.2
## Carregando pacotes exigidos: tcltk
## BiodiversityR 2.14-4: Use command BiodiversityRGUI() to launch the Graphical User Interface;
## to see changes use BiodiversityRGUI(changeLog=TRUE, backward.compatibility.messages=TRUE)
data (BCI)
BCI.env <- read.delim ('https://raw.githubusercontent.com/zdealveindy/anadat-r/master/data/bci.env.txt', row.names = 1)
BCI.soil <- read.delim ('https://raw.githubusercontent.com/zdealveindy/anadat-r/master/data/bci.soil.txt')
dim(BCI)
## [1] 50 225
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
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
head(colSums(BCI)) # mostra somente algumas linhas, mas se remover o head(), mostra a tabela inteira
## Abarema.macradenia Vachellia.melanoceras Acalypha.diversifolia
## 1 3 2
## Acalypha.macrostachya Adelia.triloba Aegiphila.panamensis
## 1 92 23
sp1<-specaccum(BCI, "random")
sp1
## Species Accumulation Curve
## Accumulation method: random, with 100 permutations
## Call: specaccum(comm = BCI, method = "random")
##
##
## Sites 1.00000 2.0000 3.00000 4.00000 5.00000 6.00000 7.00000
## Richness 91.47000 122.3100 139.55000 151.03000 159.19000 165.39000 170.55000
## sd 6.56814 6.5762 6.98971 6.18479 5.37239 4.93369 4.63926
##
## Sites 8.00000 9.00000 10.00000 11.00000 12.00000 13.00000 14.00000
## Richness 175.27000 179.06000 182.39000 185.74000 188.38000 190.60000 192.83000
## sd 4.33882 4.54566 4.14362 4.05423 4.20144 4.11698 4.05282
##
## Sites 15.00000 16.00000 17.00000 18.00000 19.00000 20.00000 21.00000
## Richness 194.51000 196.15000 197.74000 199.40000 201.02000 202.42000 203.81000
## sd 4.14508 4.08094 4.09143 3.97721 4.02763 3.97004 3.95095
##
## Sites 22.00000 23.00000 24.00000 25.00000 26.00000 27.00000 28.00000
## Richness 205.37000 206.54000 207.63000 208.74000 209.71000 210.60000 211.49000
## sd 3.78368 3.74549 3.44262 3.56645 3.55134 3.44656 3.56327
##
## Sites 29.00000 30.00000 31.0000 32.00000 33.00000 34.00000 35.00000
## Richness 212.34000 213.06000 214.0000 214.80000 215.72000 216.32000 217.25000
## sd 3.48219 3.50417 3.4407 3.35147 3.28166 3.19684 3.13138
##
## Sites 36.00000 37.0000 38.0000 39.00000 40.00000 41.00000 42.00000
## Richness 217.94000 218.6200 219.2500 219.76000 220.16000 220.54000 221.13000
## sd 3.09388 2.9225 2.6605 2.46232 2.46478 2.28044 2.15395
##
## Sites 43.00000 44.0000 45.00000 46.0000 47.00000 48.0 49.00000 50
## Richness 221.71000 222.2500 222.69000 223.1900 223.57000 224.1 224.59000 225
## sd 1.88184 1.7545 1.52219 1.3536 1.32005 1.0 0.72607 0
plot(sp1, ci.type="poly", col="blue", lwd=2, ci.lty=0, ci.col="lightblue")
boxplot(sp1, col="yellow", add=TRUE, pch="+")
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
plot(mod)
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
plot(mod2)
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
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")
plotgg1
RA.data <- rankabuncomp(dune, y=dune.env, factor='Management',
return.data=TRUE, specnames=c(1:10), legend=FALSE)
RA.data <- rankabuncomp(dune, y=dune.env, factor='Management',
return.data=TRUE, specnames=c(1:10), legend=FALSE)
BASE CULINARIA
library (vegan)
library(BiodiversityR)
base_culinaria <-read.csv("https://raw.githubusercontent.com/fplmelo/ecoaplic/main/content/collection/eco_num/com_cul.csv", row.names = 1) # adcionando a base de dados criada em aula ao R
base_q <- base_culinaria[ ,1:10] #separando em duas bases, a q dos quadrados
base_t <- base_culinaria[ ,11:20] #e a base t dos transectos
dim(base_q)
## [1] 10 10
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
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
head(colSums(base_q)) # mostra somente algumas linhas, mas se remover o head(), mostra a tabela inteira
## q1 q2 q3 q4 q5 q6
## 1 1 9 13 4 4
colSums(base_q)
## q1 q2 q3 q4 q5 q6 q7 q8 q9 q10
## 1 1 9 13 4 4 13 5 7 20
sp1_q<-specaccum(base_q, "random")
sp1_q
## Species Accumulation Curve
## Accumulation method: random, with 100 permutations
## Call: specaccum(comm = base_q, method = "random")
##
##
## Sites 1.0000000 2.0000000 3.0000000 4.0000000 5.000000 6.0000000 7.000000
## Richness 2.5700000 4.3600000 5.4000000 6.8400000 7.810000 8.6100000 9.050000
## sd 2.8753744 2.8445234 2.5306206 2.3941005 1.998459 1.5367222 1.217507
##
## Sites 8.0000000 9.0000000 10
## Richness 9.3600000 9.7100000 10
## sd 0.9694318 0.6403124 0
plot(sp1_q, ci.type="poly", col="blue", lwd=2, ci.lty=0, ci.col="lightblue")
boxplot(sp1_q, col="yellow", add=TRUE, pch="+")
mod_q <- rad.lognormal(base_culinaria[1,])
mod_q
##
## RAD model: Log-Normal
## Family: poisson
## No. of species: 15
## Total abundance: 58
##
## log.mu log.sigma Deviance AIC BIC
## 1.19039507 0.59858983 2.58008202 52.10883126 53.52493167
plot(mod_q)
mod2_q <- radfit(base_culinaria[1,])
mod2_q
##
## RAD models, family poisson
## No. of species 15, total abundance 58
##
## par1 par2 par3 Deviance AIC BIC
## Null 7.02860 52.55735 52.55735
## Preemption 0.140519 2.57760 50.10635 50.81440
## Lognormal 1.1904 0.59859 2.58008 52.10883 53.52493
## Zipf 0.179061 -0.593262 5.79207 55.32082 56.73692
## Mandelbrot Inf -91055.1 652727 1.79038 53.31913 55.44328
plot(mod2_q)
Exercício 2
Faça uma análise descritiva dessa da nossa base de dados de comunidade culinária usando esses códigos.
Utilize funções prontas dos pacotes mas também tente chegar so resultados esperados com funções básicas do R
Comente suas análises dando uma interpretação ecológica aos gráficos, crie graficos!!