El objtivo es presentar de una forma rápida, como podemos ejecutar curvas de acumulación de especies a traves de R.
library(BiodiversityR)
library(vegan)
library("DT") # Crea cuadros interactivos HTML
data("BCI")
datatable(BCI) # Genera el cuadro interactio
dim(BCI) #Denota la dimensión de los datos
## [1] 50 225
BCI[1:5,20:25] #Me permite observar un conjunto selecciodo de los datos (filas y columnas)
## Astronium.graveolens Attalea.butyracea Banara.guianensis
## 1 6 0 0
## 2 0 1 0
## 3 1 0 0
## 4 3 0 0
## 5 0 0 0
## Beilschmiedia.pendula Brosimum.alicastrum Brosimum.guianense
## 1 4 5 0
## 2 5 2 0
## 3 7 4 0
## 4 5 3 0
## 5 8 2 0
BCI[1:10, 13] #Me permite observar una especies de interés y todos los registros de interés
## [1] 0 0 0 0 0 0 0 1 0 0
BCI[,13] # Me permite observar una especie con todos sus registros.
## [1] 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 2 0 0 2 0 2 1 1 0 0 2 0 0 0 0 0 0 0
## [36] 0 0 0 0 2 2 0 0 0 0 0 0 3 1 2
BCI$Apeiba.glabra #Me brinda las observaciones de la especie de interés.
## [1] 13 12 6 3 4 10 5 4 5 5 2 4 1 5 8 5 1 1 13 6 2 7 3
## [24] 6 6 4 2 6 5 5 5 4 8 3 5 3 4 1 3 7 2 5 2 7 1 0
## [47] 8 2 4 3
sum(BCI$Apeiba.glabra) #Brinda una sumatoria total de todos los individuos registrados por muestra
## [1] 236
curva <- specaccum(BCI)
## Warning in cor(x > 0): the standard deviation is zero
curva
## Species Accumulation Curve
## Accumulation method: exact
## Call: specaccum(comm = BCI)
##
##
## Sites 1.00000 2.00000 3.00000 4.00000 5.00000 6.00000
## Richness 90.78000 121.60980 139.04587 150.71157 159.23634 165.83062
## sd 6.93481 7.19336 7.00199 6.63577 6.24812 5.89474
##
## Sites 7.00000 8.00000 9.00000 10.00000 11.00000 12.00000
## Richness 171.14214 175.55318 179.30561 182.56044 185.42917 187.99142
## sd 5.59124 5.33703 5.12587 4.95014 4.80256 4.67674
##
## Sites 13.00000 14.0000 15.00000 16.00000 17.00000 18.00000
## Richness 190.30560 192.4155 194.35454 196.14879 197.81879 199.38098
## sd 4.56741 4.4703 4.38202 4.29995 4.22206 4.14681
##
## Sites 19.00000 20.00000 21.00000 22.00000 23.00000 24.00000
## Richness 200.84871 202.23287 203.54250 204.78512 205.96707 207.09370
## sd 4.07304 3.99989 3.92675 3.85313 3.77873 3.70328
##
## Sites 25.00000 26.00000 27.00000 28.00000 29.00000 30.0000
## Richness 208.16959 209.19868 210.18438 211.12965 212.03708 212.9090
## sd 3.62663 3.54864 3.46921 3.38823 3.30563 3.2213
##
## Sites 31.00000 32.00000 33.00000 34.00000 35.00000 36.00000
## Richness 213.74738 214.55410 215.33078 216.07889 216.79978 217.49467
## sd 3.13514 3.04702 2.95678 2.86426 2.76922 2.67142
##
## Sites 37.00000 38.00000 39.00000 40.00000 41.00000 42.00000
## Richness 218.16469 218.81087 219.43418 220.03550 220.61567 221.17546
## sd 2.57053 2.46617 2.35786 2.24501 2.12687 2.00249
##
## Sites 43.00000 44.00000 45.00000 46.00000 47.00000 48.0000
## Richness 221.71561 222.23680 222.73968 223.22488 223.69296 224.1445
## sd 1.87058 1.72938 1.57635 1.40765 1.21639 0.9916
##
## Sites 49.00000 50
## Richness 224.58000 225
## sd 0.69541 0
plot(curva)
### Modificando el plot de la curva
#Curva con intervalos de confianza en polígonos
plot(curva, ci.type="poly", col="blue", lwd=2, ci.lty=0, ci.col="grey90")
#Ver la ayuda de la función "specaccum"
#Vamos a utilizar 100 permutacones para cada corrida
saco<-specaccum(BCI,method="collector",permutations=100)
saex<-specaccum(BCI,method="exact",permutations=100)
## Warning in cor(x > 0): the standard deviation is zero
saco<-specaccum(BCI,method="coleman",permutations=100)
sara<-specaccum(BCI,method="rarefaction",permutations=100)
La estimación de la riqueza funciona de la siguiente manera: collector: agrega sitios en el orden en que estos ocurren en los datos. exact: encuentra la riqueza media esperada. coleman: encuentra la riqueza esperada siguiendo la función de Coleman rarefaction: encuentra la media aaacumulada de individuos en lugar de sitios. random: estima la riqueza agregando sitios en orden aleatorio.
par(mfrow=c(2,2))
plot(saco,ci.type="line",ci.lty=2)
plot(saex,ci.type="line",ci.lty=2)
plot(saco,ci.type="line",ci.lty=2)
plot(sara,ci.type="line",ci.lty=2)
library(vegan)
data(dune.env) #Matriz ambiental
data(dune)# Matriz de especies
dune.env$site.totals <- apply(dune,1,sum) #Estima la sumatoria total de las muestras
Accum.1 <- accumresult(dune, y=dune.env, scale='site.totals', method='exact', conditioned=TRUE)
Accum.1
## Species Accumulation Curve
## Accumulation method: exact
## Call: specaccum(comm = x, method = method, permutations = permutations, conditioned = conditioned, gamma = gamma)
##
##
## Sites 34.2500 68.5000 102.7500 137.0000 171.2500 205.5000 239.7500
## Richness 9.8500 15.1105 18.5105 20.9375 22.7543 24.1496 25.2396
## sd 2.3511 1.8764 1.5723 1.4470 1.3902 1.3530 1.3165
##
## Sites 274.0000 308.2500 342.5000 376.7500 411.0000 445.2500 479.5000
## Richness 26.1035 26.7982 27.3650 27.8340 28.2275 28.5620 28.8496
## sd 1.2749 1.2282 1.1763 1.1193 1.0565 0.9874 0.9116
##
## Sites 513.7500 548.0000 582.2500 616.5000 650.7500 685
## Richness 29.0996 29.3191 29.5140 29.6895 29.8500 30
## sd 0.8287 0.7381 0.6334 0.5140 0.3571 0
accumplot(Accum.1)
accumcomp(dune, y=dune.env, factor='Management', method='exact', legend=FALSE, conditioned=TRUE)
## , , = Sites
##
## obs
## Management 1 2 3 4 5 6
## BF 1 2 3 NA NA NA
## HF 1 2 3 4 5 NA
## NM 1 2 3 4 5 6
## SF 1 2 3 4 5 6
##
## , , = Richness
##
## obs
## Management 1 2 3 4 5 6
## BF 10.333333 14.33333 16.00 NA NA NA
## HF 12.600000 16.70000 19.10 20.40000 21.00000 NA
## NM 8.000000 12.86667 16.20 18.46667 20.00000 21
## SF 9.166667 13.60000 16.25 18.13333 19.66667 21
##
## , , = sd
##
## obs
## Management 1 2 3 4 5 6
## BF 1.2472191 0.4714045 0.000000 NA NA NA
## HF 1.0198039 1.3343708 1.732051 0.800000 0.000000 NA
## NM 0.8164966 1.0011583 1.346070 1.642761 1.154701 0
## SF 2.4094720 1.4282970 1.225156 1.231079 0.942809 0
En algunas ocasiones queremos comparar comunidades dos o mas comunidades. Recordar que para qee esta comparación sea valida debieron haberse muestreado con la misma metodología y al menos mismo esfuerzo de muestreo.
Para efectos demoostrativos se utilizarán las dos bases de datos, sin embargo estos datos no son camparables por lo iindicado anteriormente
sara<-specaccum(BCI, "rarefaction")
plot(sara)
sara2<-specaccum(dune, "rarefaction")
plot(sara2,add=TRUE, col="blue")