Los sedimentos marinos son, por superficie, el hábitat más grande de la Tierra (Schratzberger & Ingels, 2018). Una amplia diversidad de organismos habita en estos sedimentos que por sus acciones median procesos ecosistémicos.La meiofauna (Schratzberger & Ingels, 2018; Fig. 1.), es un grupo de organismos de pequeño tamaño (< 1 mm) cuya morfología, fisiología e historia de vida permite que habiten una variedad de ambientes terrestres y acuáticos, a menudo en gran abundancia y diversidad en suelos y sedimentos de todo el mundo (Coull, 1999; Schratzberger & Ingels, 2018). El tamaño microscópico refleja su habilidad evolutiva por sobrevivir y prosperar en el espacio intersticial, con una gran variedad de estilos de vida (Schratzberger & Ingels, 2018). Por el contrario, la macrofauna del sedimento suele depender del desplazamiento de sedimentos o de excavar madrigueras (Coull, 1999; Schratzberger & Ingels, 2018). Se debate sobre si la alta abundancia y diversidad de la meiofauna se traduce en un efecto significativo sobre los procesos ecosistémicos (Coull, 1999). Sin embargo, se conoce el papel que cumple la meiofauna sobre las redes alimentarias marinas, al afectar la estructura y actividad de las comunidades microbianas y al conectar la producción primaria y la descomposición de la materia orgánica con niveles tróficos más altos (Coull, 1999; Fig. 2.).
Los organismos bentónicos interactúan entre sí y con el sedimento en el que viven. Estas interacciones modifican una serie de propiedades físicas, químicas y biológicas de los sedimentos. Las propiedades físicas incluyen la textura y cohesión de los sedimentos, la permeabilidad y el espacio poroso, y la distribución del tamaño de los sedimentos (Coull, 1999; Glud, 2008; Schratzberger & Ingels, 2018). Las propiedades químicas incluyen niveles de materia orgánica, nutrientes inorgánicos y oxígeno y las propiedades biológicas incluyen la densidad y composición de otra fauna y microbios (Glud, 2008; Schratzberger & Ingels, 2018). Muchas especies meiobentónicas construyen madrigueras a microescala en sedimentos arenosos y fangosos donde las partículas de sedimento se adhieren mediante sustancias poliméricas extracelulares (EPS) secretadas por los propios organismos, es decir, moco (Schratzberger & Ingels, 2018). Se sospecha que estas construcciones son importantes en la estabilidad y erosionabilidad de las capas de sedimentos superficiales. Así, la meiofauna actúa como transportadores verticales dentro de los sedimentos y entre los sedimentos y el agua (Coull, 1999), modificando la hidrodinámica de los sedimentos y afectando el ciclo de nutrientes y los flujos biogeoquímicos, y cambiando los gradientes químicos verticales en el sedimento (Coull, 1999; Blott & Pye, 2001; Glud, 2008; Schratzberger & Ingels, 2018; Fig.3.).
La granulometría, o el tamaño de grano es la propiedad más fundamental de las partículas de sedimento y afecta su arrastre, transporte y deposición (Blott & Pye, 2001). Por lo tanto, el análisis del tamaño de grano proporciona pistas importantes sobre la procedencia del sedimento, la historia del transporte y las condiciones de depósito (Blott & Pye, 2001). El sedimento también se puede caracterizar al determinar su composición química y la materia orgánica presente (Blott & Pye, 2001). La sociedad obtiene grandes beneficios de los ecosistemas bentónicos en forma de servicios de recursos (por ejemplo, alimentos, materiales bióticos y biocombustibles), regulación y mantenimiento (por ejemplo, ciclo de nutrientes y procesamiento de desechos) y servicios de enriquecimiento (por ejemplo, recreación y turismo) . Las características del sedimento pueden ser determinantes para número y la composición de las especies del ecosistema, los cuales influyen en los procesos ecosistémicos, junto con los efectos del clima y los regímenes de perturbación (Coull, 1999; Blott & Pye, 2001; Schratzberger & Ingels, 2018).
Describir la composición y estructuración de la meiofauna de los fondos sedimentarios en sitios alrededor de la Isla del Coco.
1.1 Identifiar los principales grupos taxonómicos que componen la comunidad de meiofauna de las aguas de la Isla del Coco.
Describir su asociación con el tipo de sedimento marino y características fisico-químicas.
2.1 Identificar las características de mayor importancia para la composición de la meiofauna de las aguas de la Isla del Coco.
Los datos provienen de 27 sitios alrededor de la costa de la Isla del coco. En cada sitio de muestreo se tomaron con draga cinco muestras de sedimiento. A partir de estas muestras, se realizaron identificaciones y conteos de la meiofauna por réplica, y macrofauna por estación de variados niveles y grupos taxonómico. Además, en cada sitio se tomaron medidas de variables ambientales, como ubicación, la profundidad, el nivel de exposición oceánica de los sitios. Se caracterizó el sedimiento a partir de granulometrías, se determinaron porcentajes de la materia orgánica y carbonatos de las muestras, el nivel de asimetría del sedimiento, la proporción entre limo y arcilla, entre otras variables.
Aunque la variancia fue grande (~ 40%), el RDA no fue capaz de explicar (p > 0.05) el comportamiento de la comunidad de meiofauna de las aguas alrededor de la Isla. Probablemente se deba a una penalización del modelo por el alto número de variables ambientales consideradas (Powell, 2019). Esto se puede solucionar al ser más selectivos con las variables modeladas, sacrificando inercia.
Los grupos de mayor importancia se presentaron, en su mayoría, a lo largo de los gradientes de las características fisicoquímicas tomadas. La profundidad fue la variable en la cual se mostraron mayores diferencias visuales entre los grupos.
Para los grupos de mayor importancia, los tipos de sedimento más ocupados son aquellos de granos más gruesos, heterogéneos. Esto podría deberse a sus hábitos interesticiales. A pesar de su heterogeneidad y tamaño, son sedimentos capaces de retener materia orgánica, permitiendo mantener un ambiente favorable para la meiofauna.
De forma grafica, se pueden visualizar preferencias de ciertos grupos taxómicos sobre las características del sedimento y variables físico-químicas
Blott, S. J., & Pye, K. (2001). Gradistat: A grain size distribution and statistics package for the analysis of unconsolidated sediments. Earth Surface Processes and Landforms, 26(11), 1237–1248. https://doi.org/10.1002/esp.261
Coull, B. C. (1999). Role of meiofauna in estuarine soft‐bottom habitats. Australian Journal of Ecology, 24(4), 327–343. https://doi.org/10.1046/j.1442-9993.1999.00979.x
Glud, R. N. (2008). Oxygen Dynamics of marine sediments. Marine Biology Research, 4(4), 243–289. https://doi.org/10.1080/17451000801888726
Legendre, P., & Gallagher, E. D. (2001). Ecologically meaningful transformations for ordination of species data. Oecologia, 129(2), 271–280. https://doi.org/10.1007/s004420100716
Powell, J. (2019). Multivariete analysis. In Advances topics in R. essay, Hawkesbury Institute for the Environment.
Schratzberger, M., & Ingels, J. (2018). Meiofauna matters: The roles of meiofauna in benthic ecosystems. Journal of Experimental Marine Biology and Ecology, 502, 12–25. https://doi.org/10.1016/j.jembe.2017.01.007
Trueblood, D. D., Gallagher, E. D., & Gould, D. M. (1994). Three stages of seasonal succession on the Savin Hill Cove mudflat, Boston Harbor. Limnology and Oceanography, 39(6), 1440–1454. https://doi.org/10.4319/lo.1994.39.6.1440
library(DT) # Visualización de dataframes
library(corrplot) # Graficación de correlaciones
library(readxl) # Lectura de documentos de excel
# Mapa interactivo
library(sketchy)
library(leaflet) # Mapa interactivo
library(leaflegend) # Legendas de leaflet
library(vegan) # Community Ecology Package: Ordination, Diversity and Dissimilarities
library(viridis) # Color
# Pca de correlacion
library(ade4)
library(FactoMineR)
library(factoextra)
library(ggplot2)
# Transformacion CNESS
library(ness)
# Cluster
library(robustHD)
library(ape)
library(gclus)meiofauna <- read_excel("../data/raw/Meiofauna_Coco.xlsx")
meiofauna<- data.frame(meiofauna)
datatable(meiofauna, options = list(scrollX = TRUE))La base debe transponerse, dejando las filas como sitios y las columnas como grupos taxonómicos. Este acomodo es necesario para el uso del paquete “vegan”.
M <- t(meiofauna[-nrow(meiofauna), -1]) # Transpone base
M <- data.frame(M)
colnames(M) <- meiofauna$Muestra[-nrow(meiofauna)] # Asigna los grupos taxónomicos como los nombres de columnas
rownames(M) <- colnames(meiofauna)[-1] # Asigna las estaciones como los nombres de las filas
M[is.na(M[,1]),1] <- 0 # Convierte NA's en 0's
M_st <- M # Nueva base, duplicado de M con estaciones
st <- sapply(strsplit(rownames(M), ".", fixed = TRUE),
"[[", 1)
st <- as.factor(st) # Estaciones como factor
M_st$st <- st # Nueva columna a datos con estacion como factor
m <- rowsum(M_st[,-36], group = st) # Sumatoria de filas por estación
nom_filas <- rownames(m) # Vector de nombres de filas de la base m
m <- m[order(as.numeric(nom_filas)), ] # Reorganiza estaciones numericasChord normalized expected species shared (CNESS), selecciona el número apropiado de m (individuos seleccionados al azar) para que el modelo RDA detecte entre taxa rara y dominante (Trueblood et al., 1994). Permiten el uso de los datos de especies originales (transformados) en RDA para probar las relaciones con variables explicativas, lo que permite dibujar biplots que muestran las relaciones de las especies con las variables explicativas (Legendre & Gallagher, 2001).
Este tipo de transformaciones de los datos de especies permiten utilizar métodos de ordenación como PCA y RDA, que están basados en distancias de euclides, con datos de composición de comunidades que contienen muchos ceros (gradientes largos)(Legendre & Gallagher, 2001).
El análisis de componentes principales se puede utilizar en datos multivariados para determinar, en casos de estudios ecológicos de comunidades, cuales son las variables ambientales de mayor importancia (Legendre & Gallagher, 2001; Powell, 2019).
# png("/Users/waiwai/Desktop/coco/isla_coco/output/PCA_centrado.ic.png", width = 480, height = 480)
pca.c <- prcomp(M_ambientales[,-c(1:5)], # Selecciona variables númericas
center = TRUE, # Le quita el promedio (valor-promedio), como para estandarizarlo pero eso de por si lo hace scale
scale = TRUE) # Scale lo que hace es hacer la resta anterior entre la desviación estándar
summary(pca.c)## Importance of components:
## PC1 PC2 PC3 PC4 PC5 PC6 PC7
## Standard deviation 3.0868 1.7355 1.5330 1.2697 1.1900 0.76211 0.66991
## Proportion of Variance 0.4764 0.1506 0.1175 0.0806 0.0708 0.02904 0.02244
## Cumulative Proportion 0.4764 0.6270 0.7445 0.8251 0.8959 0.92497 0.94741
## PC8 PC9 PC10 PC11 PC12 PC13 PC14
## Standard deviation 0.59091 0.51342 0.40291 0.3436 0.25175 0.2144 0.1549
## Proportion of Variance 0.01746 0.01318 0.00812 0.0059 0.00317 0.0023 0.0012
## Cumulative Proportion 0.96486 0.97804 0.98616 0.9921 0.99523 0.9975 0.9987
## PC15 PC16 PC17 PC18 PC19 PC20
## Standard deviation 0.11919 0.09178 0.04278 0.02473 0.01724 0.0001867
## Proportion of Variance 0.00071 0.00042 0.00009 0.00003 0.00001 0.0000000
## Cumulative Proportion 0.99944 0.99986 0.99995 0.99999 1.00000 1.0000000
El Screeplot anterior de PCA de variables ambientales de sitios en las aguas de la Isla del Coco muestra la inercia, o variación explicada por componente.
A continuación, con el PCA graficado podemos agrupar variables por cercaníía y similitud de dirección. Esto quiere decir que entre esas variables se comparten características. Por tanto, podemos agruparlas y escoger las más representativa para considerar en nuestro estudio, sin olvidarnos de la relación de su comportamiento con las variables descartadas.
fviz_pca_var(pca.c) # Entre más pequeño el ángulo, más alta correlación entre dos variables. Entre más amplia, la correlación es contraria.M_ambientales_dep <- M_ambientales[, -c(1:5, 9, 13:19, 21,22)] # Base con selección de variables del PCA
tM_ambientales <- t(M_ambientales_dep) # Transpone la tabla, [Variable, Sitio] para poder estandarizar
tM_ambientales
stM_ambientales <- standardize(tM_ambientales, scaleFun= sd, centerFun = mean ) # Estandariza los datos, para poder compararlos en la correlación de Pearson. Determina cuando los datos se alejan de la media
stM_ambientales <- data.frame(stM_ambientales)
rownames_stM <- c("PROF", "TOM", "CO3", "SORT", "SKYRA", "KURT","MSL", "SC", "MS", "AM")
rownames(stM_ambientales) <- rownames_stM# Crear objetos de variables seleccionadas
exposicion <- ambientales[,2]
PROF <- ambientales[,6]
TOM <- ambientales[,7]
CO3 <- ambientales[,8]
mean_g <- ambientales[,9]
SORT <- ambientales[,10]
SKYRA <- ambientales[,11]
KURT <- ambientales[,12]
MSL <- ambientales[,21]
MS <- M_ambientales[,24]
AM <- M_ambientales[,25]dis <- cor(t(stM_ambientales), method = "pearson") # Correlacion de pearson de las variables ambientales.
d<- as.dist(1-dis) # Mejor visualización de la matriz
d## PROF TOM CO3 SORT SKYRA KURT
## TOM 1.634166997
## CO3 0.910532497 1.625049366
## SORT 1.488932775 0.027124304 1.773783718
## SKYRA 1.470785676 0.039487957 1.797379401 0.002128175
## KURT 1.548439204 0.018483017 1.759562582 0.004597174 0.009207677
## MSL 1.115888244 0.608828469 1.399881884 0.532937220 0.509060560 0.567569079
## SC 1.604615105 0.444874970 1.245082641 0.550764504 0.590429833 0.479921014
## MS 1.186053581 1.407124846 0.609988730 1.484790790 1.490833948 1.444172261
## AM 1.122264987 0.541935365 1.948106649 0.388975524 0.356168311 0.392682096
## MSL SC MS
## TOM
## CO3
## SORT
## SKYRA
## KURT
## MSL
## SC 1.327177186
## MS 1.563398330 0.910647085
## AM 0.681825480 0.810522086 1.221219956
Existen formas alternativas de visualizar la asociación entre variables. Ejemplos serian 1) los análisis de conglomerados, que producen un diagrama de nodos de la relación jerarquica entre variables; 2) los gráficos de calor, que a partir de un gradiente de coloración, podemos visualizar patrones de relación entre variables.
Presenta la desventaja de que no se pueden determinar los indices de correlación tan facilmente.
hr <- hclust(d, # Agrupación por jerarquía
method = "single", # Importante para que quede bien
members = NULL)# png("/Users/waiwai/Desktop/coco/isla_coco/output/cluster.ambientales.ic.png", width = 480, height = 480)
plot.new()
par(mfrow = c(1, 1)) # un solo panel
# Definir parámetros de márgenes (izq, der, abajo, arriba)
margin <- c(2, 3, 2, 3)
# Definir márgenes
par(mar = margin)
plot(hr,
main = "Análisis de conglomerados : variables ambientales",
xlab = NULL, sub = NULL, axes = TRUE, frame.plot = TRUE, hang = -1)# png("/Users/waiwai/Desktop/coco/isla_coco/output/corr.ambientales.ic.png", width = 480, height = 480)
plot.new()
par(oma = c(0, 0, 2, 0))
par(mar = c(4, 4, 6, 4)) # Parámetros de márgenes
corrplot(dis, method = "color", tl.cex = 0.5, number.cex = 0.5, asp = 1, col = viridis(100, alpha = 1, begin = 0, end = 1, direction = -1, option = "D"))
mtext("Gráfico de calor: variables ambientales", side = 3, line = 6, cex = 1)En el caso de un modelo RDA, que es una técnica multivariada utilizada en ecología para explorar la relación entre dos matrices: 1) una matriz de respuesta (generalmente una matriz de composición de la comunidad) y 2) uno o más conjuntos de variables explicativas. Un valor p significativo en el ANOVA sugiere que hay una diferencia significativa en la composición de las comunidades entre los niveles de al menos un factor (Legendre & Gallagher, 2001; Powell, 2019).
En el contexto de un análisis de varianza (ANOVA) para un modelo de análisis de redundancia (RDA), un valor p inferior a 0.05 generalmente significa que al menos una de las variables explicativas (factores) en su modelo es estadísticamente significativa para explicar la variación en la variable respuesta.
rda_CNESS <- rda(Hmatrix ~ PROF + TOM + CO3 + SORT + SKYRA + KURT + MS + AM + exposicion + mean_g)
summary(rda_CNESS)##
## Call:
## rda(formula = Hmatrix ~ PROF + TOM + CO3 + SORT + SKYRA + KURT + MS + AM + exposicion + mean_g)
##
## Partitioning of variance:
## Inertia Proportion
## Total 0.2509 1.0000
## Constrained 0.1046 0.4168
## Unconstrained 0.1463 0.5832
##
## Eigenvalues, and their contribution to the variance
##
## Importance of components:
## RDA1 RDA2 RDA3 RDA4 RDA5 RDA6
## Eigenvalue 0.04917 0.02452 0.008386 0.006586 0.005391 0.003587
## Proportion Explained 0.19598 0.09773 0.033421 0.026251 0.021488 0.014295
## Cumulative Proportion 0.19598 0.29371 0.327128 0.353378 0.374866 0.389161
## RDA7 RDA8 RDA9 RDA10 RDA11 RDA12
## Eigenvalue 0.002642 0.001930 0.001431 0.0005132 0.0002763 0.0001429
## Proportion Explained 0.010529 0.007692 0.005702 0.0020452 0.0011014 0.0005697
## Cumulative Proportion 0.399690 0.407382 0.413084 0.4151296 0.4162309 0.4168006
## PC1 PC2 PC3 PC4 PC5 PC6
## Eigenvalue 0.1002 0.01395 0.009065 0.007039 0.005008 0.00347
## Proportion Explained 0.3994 0.05559 0.036130 0.028055 0.019960 0.01383
## Cumulative Proportion 0.8162 0.87176 0.907889 0.935944 0.955904 0.96974
## PC7 PC8 PC9 PC10 PC11 PC12
## Eigenvalue 0.002632 0.001549 0.001288 0.001063 0.0005002 0.0003364
## Proportion Explained 0.010489 0.006173 0.005132 0.004236 0.0019936 0.0013407
## Cumulative Proportion 0.980224 0.986397 0.991528 0.995765 0.9977584 0.9990991
## PC13 PC14
## Eigenvalue 0.0001708 5.526e-05
## Proportion Explained 0.0006806 2.202e-04
## Cumulative Proportion 0.9997798 1.000e+00
##
## Accumulated constrained eigenvalues
## Importance of components:
## RDA1 RDA2 RDA3 RDA4 RDA5 RDA6
## Eigenvalue 0.04917 0.02452 0.008386 0.006586 0.005391 0.003587
## Proportion Explained 0.47019 0.23448 0.080185 0.062981 0.051554 0.034297
## Cumulative Proportion 0.47019 0.70467 0.784855 0.847836 0.899390 0.933686
## RDA7 RDA8 RDA9 RDA10 RDA11 RDA12
## Eigenvalue 0.002642 0.00193 0.001431 0.0005132 0.0002763 0.0001429
## Proportion Explained 0.025262 0.01845 0.013680 0.0049069 0.0026425 0.0013669
## Cumulative Proportion 0.958948 0.97740 0.991084 0.9959907 0.9986331 1.0000000
##
## Scaling 2 for species and site scores
## * Species are scaled proportional to eigenvalues
## * Sites are unscaled: weighted dispersion equal on all dimensions
## * General scaling constant of scores: 1.598166
##
##
## Species scores
##
## RDA1 RDA2 RDA3 RDA4 RDA5
## Acrocirridae -0.12548 0.043562 0.034603 -0.050094 -0.0223937
## Cossuridae -0.11196 0.050273 -0.027714 0.004179 0.0121056
## Saccocirridae -0.13511 0.030245 -0.016935 0.011970 0.0204802
## Spionidae -0.08842 0.015422 -0.079634 -0.005145 -0.0159469
## Magelonidae -0.10033 0.064090 -0.016634 0.004748 0.0452527
## Pisionidae -0.11706 -0.222328 0.099967 -0.044803 0.0861820
## Syllidae -0.07116 -0.218105 0.050504 -0.083186 -0.0326949
## Hesionidae -0.17832 0.005524 0.048900 0.044150 0.0386282
## Nereididae -0.13292 0.019429 0.024592 0.012436 0.0382758
## Nematoda 0.16421 0.017870 0.005528 -0.001392 -0.0053667
## Gastropoda 0.16390 0.018470 0.005201 -0.001600 -0.0053287
## Bivalvia 0.14977 0.044601 0.038535 0.006608 0.0020569
## Kinorhyncha -0.12436 0.050978 -0.009429 0.003071 -0.0023929
## Sipuncula -0.11497 -0.049920 -0.063740 -0.024344 -0.0494394
## Nemertea -0.02691 -0.068157 -0.193606 -0.060784 0.0574289
## Rhabditophora -0.09005 -0.281434 -0.029877 0.132402 -0.0895397
## Ophiuroidea -0.09641 0.056733 0.033629 -0.030988 -0.0456896
## Larvae.Echinodermata -0.09805 0.066134 0.002279 0.006974 -0.0080241
## Ostracoda 0.16394 0.017709 -0.001649 0.006650 -0.0032449
## Harpaticoida 0.12544 0.032999 -0.044022 -0.023826 -0.0182115
## Amphipoda -0.14081 0.084647 0.067861 0.047347 0.0396098
## Isopoda -0.12838 0.043222 -0.012237 0.006400 0.0061638
## Cumacea -0.06177 -0.036931 0.028591 0.019580 -0.0095039
## Megalopa -0.11308 0.053174 0.010936 -0.014637 -0.0206589
## Nauplii -0.12436 0.050978 -0.009429 0.003071 -0.0023929
## Zoea -0.12433 0.047587 -0.011091 0.002259 -0.0111396
## Acari -0.07228 0.020430 -0.026645 0.026799 -0.0792420
## Tanaidacea -0.11627 0.016994 -0.033030 -0.042325 -0.0349659
## Mysis.larvae -0.12462 0.055253 -0.010965 -0.004762 -0.0098718
## Scaphopoda -0.12437 0.055166 -0.004303 0.005132 -0.0002789
## Polychaeta.larvae -0.09161 -0.029674 0.023722 -0.139681 -0.0493371
## Oligochaeta -0.06860 -0.090700 -0.070221 0.048680 0.0881742
## Amphinomidae -0.12436 0.050978 -0.009429 0.003071 -0.0023929
## Paraonidae -0.05915 0.070858 0.018666 0.049559 -0.0603486
## Foraminifera 0.16421 0.017870 0.005528 -0.001392 -0.0053667
## RDA6
## Acrocirridae -0.016491
## Cossuridae -0.006385
## Saccocirridae -0.007656
## Spionidae -0.031944
## Magelonidae -0.004122
## Pisionidae -0.052934
## Syllidae 0.040488
## Hesionidae -0.038126
## Nereididae -0.005708
## Nematoda 0.008160
## Gastropoda 0.008039
## Bivalvia -0.006043
## Kinorhyncha 0.001529
## Sipuncula 0.043274
## Nemertea 0.034991
## Rhabditophora 0.004642
## Ophiuroidea -0.048103
## Larvae.Echinodermata -0.029116
## Ostracoda 0.008434
## Harpaticoida -0.052053
## Amphipoda 0.124226
## Isopoda -0.001907
## Cumacea 0.029194
## Megalopa -0.019519
## Nauplii 0.001529
## Zoea 0.006495
## Acari -0.039758
## Tanaidacea 0.011819
## Mysis.larvae -0.003657
## Scaphopoda 0.016117
## Polychaeta.larvae 0.011914
## Oligochaeta -0.031949
## Amphinomidae 0.001529
## Paraonidae -0.002320
## Foraminifera 0.008160
##
##
## Site scores (weighted sums of species scores)
##
## RDA1 RDA2 RDA3 RDA4 RDA5 RDA6
## 1 0.212135 0.022878 0.63396 -0.89592 -0.32001 -0.50650
## 2 0.033588 -0.617375 0.22156 -0.05722 -0.38095 -0.09936
## 3 -0.937911 0.247822 -0.19156 0.03108 -0.06753 -0.15708
## 4 0.351514 0.382596 0.61405 0.43317 0.24570 1.31500
## 5 -0.937911 0.247822 -0.19156 0.03108 -0.06753 -0.15708
## 6 0.395719 -0.002072 -0.09898 -0.32920 0.25333 0.05198
## 7 0.479391 0.172492 -0.12846 -0.27664 0.19991 0.17389
## 8 0.453523 0.399309 0.19986 0.56824 -0.42501 -0.33853
## 9 0.412722 0.066238 -0.12736 -0.48707 0.18965 0.30751
## 10 -0.937911 0.247822 -0.19156 0.03108 -0.06753 -0.15708
## 11 -0.937911 0.247822 -0.19156 0.03108 -0.06753 -0.15708
## 12 0.295415 0.296572 -0.85456 0.19419 0.76704 -0.55902
## 13 -0.937911 0.247822 -0.19156 0.03108 -0.06753 -0.15708
## 14 0.030557 -0.495229 0.89151 0.47213 0.34917 -0.36816
## 15 0.008902 -0.369383 0.33010 -0.85245 0.03198 0.17728
## 16 0.536295 0.420311 0.07552 0.15221 0.13459 -0.16051
## 17 0.426410 0.388720 0.16701 -0.43011 -0.20167 -0.07449
## 18 0.256527 -0.081577 -0.01889 0.17779 -0.59555 -0.50848
## 19 0.061725 -0.607002 -0.26451 -0.52810 -0.10075 0.39433
## 20 0.319350 0.027200 0.01607 0.12759 0.56867 -0.12727
## 21 0.406839 0.426159 0.22160 0.45676 0.29105 0.46559
## 22 0.258695 -0.333325 -0.59247 0.32280 -0.52532 0.27240
## 23 -0.937911 0.247822 -0.19156 0.03108 -0.06753 -0.15708
## 24 0.341395 -0.036012 0.02421 0.71911 -0.55255 -0.16488
## 25 0.159533 -0.198423 -0.27833 -0.44912 -0.53224 0.93834
## 26 0.109036 -0.704803 0.32833 0.36806 0.24726 0.09171
## 27 0.078197 -0.644209 -0.21082 0.12727 0.76089 -0.33832
##
##
## Site constraints (linear combinations of constraining variables)
##
## RDA1 RDA2 RDA3 RDA4 RDA5 RDA6
## 1 0.038824 -0.01766 0.6736482 -0.86041 -0.22417 -0.27944
## 2 -0.238110 -0.41561 0.0674471 0.11718 -0.37594 -0.01175
## 3 -0.324925 0.46417 -0.0888057 -0.02035 -0.24735 0.32311
## 4 -0.076139 0.20654 0.3316032 0.31637 0.17682 0.86183
## 5 0.096353 -0.02668 0.1889281 0.10045 0.04538 0.11306
## 6 -0.213036 0.28757 -0.1432271 -0.21236 -0.06514 0.11825
## 7 0.325651 0.52088 -0.3593816 -0.13106 0.21012 -0.10261
## 8 0.357403 0.23704 0.2506530 0.45233 -0.41430 -0.48483
## 9 0.056688 0.17698 0.1050859 -0.22504 0.27257 0.25137
## 10 -0.032587 0.06747 -0.0569455 -0.24143 0.06454 0.31417
## 11 -0.545036 0.06563 0.1675253 0.21907 -0.04449 0.08264
## 12 0.382671 -0.02175 -0.5641819 0.03422 0.44736 -0.24420
## 13 -0.626712 0.04268 -0.1782861 -0.18266 0.24260 -0.44508
## 14 -0.377013 -0.22388 0.5429181 0.30232 0.27856 -0.35545
## 15 0.213812 -0.04636 0.1375287 -0.09952 0.42221 0.15027
## 16 0.535874 0.35756 -0.0543881 0.11637 0.31521 -0.03737
## 17 -0.009752 0.15729 -0.0564868 -0.28816 -0.27517 -0.19079
## 18 0.419550 0.11338 0.0007663 0.34393 -0.47743 -0.52365
## 19 0.174473 -0.61527 -0.3714203 -0.74593 -0.03599 0.04634
## 20 0.060835 0.02484 -0.0330159 -0.16062 -0.04588 -0.02818
## 21 0.018177 0.32519 0.3187565 0.05793 0.33992 0.03356
## 22 -0.065268 -0.27058 -0.6742236 0.40916 -0.21780 0.26199
## 23 -0.446190 0.15702 -0.1748993 0.17133 -0.09685 -0.36481
## 24 0.030231 -0.07802 -0.1757490 0.08518 -0.40536 0.25494
## 25 0.001715 -0.22189 -0.1087241 -0.05313 -0.57237 0.32493
## 26 0.531306 -0.70975 0.4564347 0.25585 0.06867 0.17836
## 27 -0.288797 -0.55679 -0.2015602 0.23899 0.61427 -0.24667
##
##
## Biplot scores for constraining variables
##
## RDA1 RDA2 RDA3 RDA4 RDA5 RDA6
## PROF -0.3186 -0.059369 -0.09455 -0.21942 -0.32952 0.27287
## TOM 0.1112 0.666015 0.20266 -0.14690 -0.33902 -0.13796
## CO3 -0.1493 0.268873 0.07992 -0.36430 -0.19429 0.39302
## SORT -0.2876 -0.248665 0.22655 -0.06252 -0.40686 -0.26024
## SKYRA 0.3527 0.134681 -0.74526 0.01198 -0.09924 -0.12526
## KURT 0.2781 0.009407 0.27505 0.47166 -0.31741 -0.31206
## MS -0.4607 -0.388177 0.25974 -0.50910 -0.05611 -0.07593
## AM -0.5979 -0.502890 0.17133 -0.17086 0.13897 -0.07104
## exposicionInner bays 0.6266 0.374205 -0.22523 0.25290 0.02510 -0.43173
## exposicionMiddle bays -0.2028 0.195777 0.20579 -0.23667 0.31908 -0.00968
## exposicionOutside bays -0.3261 -0.204579 -0.24240 0.12087 0.07110 0.38502
## mean_g -0.1802 -0.539486 0.19416 -0.57196 -0.14885 -0.03137
##
##
## Centroids for factor constraints
##
## RDA1 RDA2 RDA3 RDA4 RDA5 RDA6
## exposicionExposed coast -0.01370 -0.21432 0.12303 -0.04733 -0.26767 0.017039
## exposicionInner bays 0.40423 0.24142 -0.14531 0.16316 0.01619 -0.278532
## exposicionMiddle bays -0.08132 0.07851 0.08253 -0.09491 0.12796 -0.003882
## exposicionOutside bays -0.18762 -0.11772 -0.13948 0.06955 0.04091 0.221541
## Permutation test for rda under reduced model
## Permutation: free
## Number of permutations: 999
##
## Model: rda(formula = Hmatrix ~ PROF + TOM + CO3 + SORT + SKYRA + KURT + MS + AM + exposicion + mean_g)
## Df Variance F Pr(>F)
## Model 12 0.10458 0.8338 0.726
## Residual 14 0.14633
# Exposicion de sitios
M_ambientales$OceanExposure <- as.factor(M_ambientales$OceanExposure)
legend_labels_expo <-levels(M_ambientales$OceanExposure)
Expo <- c("#5D4235","#B5D9D9","#1E96A6", "#C1B7AA") # Asignación de color por nivel
legend_colors_expo <- Expo# png("/Users/waiwai/Desktop/coco/isla_coco/output/RDA_CNESS_sitios.expo.ic.png", width = 480, height = 480)
plot.new()
#biplot sitios x factores
ordiplot(rda_CNESS, scaling= 3) #vectores de las variables ambientales
points(rda_CNESS, scaling = 3, display = "sites", pch = 19, col = Expo) # Añadir sitios (muestras)
text(rda_CNESS, scaling = 3,display = "sites", col = "black", pos=4) # Añadir los nombres de los sitios (muestras)
legend("topright", legend = legend_labels_expo, fill = legend_colors_expo, title = "Exposición", cex = 0.8, title.cex = 1)#Especies saturado
# png("/Users/waiwai/Desktop/coco/isla_coco/output/RDA_CNESS_sp.sat.ic.png", width = 480, height = 480)
plot.new()
#biplot especies x factores
ordiplot(rda_CNESS, scaling=3) #vectores de las variables ambientales
text(rda_CNESS, scaling = 3,display = "species", col = "black", pos=4) #añadir especies
points(rda_CNESS, scaling = 3, display = "sites", pch = 19, col = Expo) #sitios por exposicion
text(rda_CNESS, scaling = 3,display = "sites", col = "black", pos=4) # Añadir los nombres de los sitios (muestras)
legend("topright", legend = legend_labels_expo, fill = legend_colors_expo, title = "Exposición", cex = 0.8, title.cex = 1)# png("/Users/waiwai/Desktop/coco/isla_coco/output/RDA_CNESS_sitios_spim.ic.png", width = 480, height = 480)
#Especies de importancia
sp.importancia<-inertcomp(rda_CNESS, display="species", unity=T)
spim<-as.data.frame.array(sp.importancia)
spim$CCA<-NULL
sum(spim$CA)#exposicion
plot.new()
ordiplot(rda_CNESS, scaling=3) # Plot
orditorp(rda_CNESS, display = "species", # Añade texto y puntos a plots de ordenación
select= spim>0.035 , choices=c(1,2), # Selecciona especies de importancia de un indice mayor a 0.015
col="black", font=3, # Especificaciones de texto
pch = 16, pcol ="#CC99FF", pcex = 1, # Especificaciones de punto
scaling =3) # Escala
points(rda_CNESS, scaling = 3, display = "sites", pch = 19, col = Expo) # Sitios por exposicion
text(rda_CNESS, scaling = 3,display = "sites", col = "black", pos=4) # Añadir los nombres de los sitios.
#legendas
legend_labels_combined <- c("Especies", legend_labels_expo)
legend_colors_combined <- c("#CC99FF", legend_colors_expo)
legend("topright", legend = legend_labels_combined, fill = legend_colors_combined, cex = 0.8, title = "Simbología", title.cex = 1)# Base fusionada para ggplot
GLM_base <- read.csv(file = "~/Desktop/coco/isla_coco/data/processed/basefusionaca.IC", header = TRUE, row.names = 1)
datatable(GLM_base, options = list(scrollX = TRUE))taxa <- names(GLM_base)[1:35]
taxa <- taxa[!taxa %in% c("Kinorhyncha", "Nauplii")] # No tienen valores
vars <- names(GLM_base)[38:61] # Variables ambientales
out <- lapply(taxa, function(x){ # Extrae las variables por cada individuo del muestreo
W <- GLM_base[which(GLM_base[, x] > 0), ]
indx <- unlist(sapply(seq_len(nrow(W)), function(y) rep(y, W[y, x])))
W <- W[indx,]
W <- stack(W[, vars])
W$taxa <- x
return(W)
})
stack_base <- do.call(rbind, out) # Nueva Base
names(stack_base) <- c("value", "env_variable", "taxa") # Nombra columnas
stack_base$env_variable <- as.factor(stack_base$env_variable)
stack_base$taxa <- as.factor(stack_base$taxa)selected_taxa <- c("Syllidae", "Nematoda", "Gastropoda", "Ostracoda","Cumacea", "Polychaeta.larvae", "Oligochaeta", "Paraonidae", "Foraminifera")
# Filtrar datos para seleccionar las especies de importancia
filtered_data <- stack_base[stack_base$taxa %in% selected_taxa, ]# Vectores de color
color_boxplot<- c("#FF7F50","lightblue", "#6B8E23","purple","#DAAF37","#7570B3","orange","#FF00FF","#40E0D0" ) ## Especies de importancia
color_boxplot.P <- c("#DAAF37","#7570B3","#40E0D0") ## Polychaeta
color_boxplot.M <- c("#6B8E23","#FF00FF") ## Molluscacustom_labeller_FQ <- function(variable) {
# Define the mapping of env_variable values to facet titles
titles <- c("Profundidad (m)", "Materia orgánica (%)", "Abundancia de macrofauna", "Riqueza de macrofauna") # Replace with your desired titles
return(titles[match(variable, unique(filtered_data$env_variable)[c(4,5,23,22)])])
}
# png("/Users/waiwai/Desktop/coco/isla_coco/output/ggplotambientalesspim.png", width = 800, height = 480)
ggplot(filtered_data[filtered_data$env_variable == unique(filtered_data$env_variable)[c(4,5,23,22)], ],
aes(x = taxa, y = value, colour = taxa)) +
geom_boxplot() +
scale_color_manual(values = color_boxplot) +
facet_wrap(~ env_variable, scales = "free_y", ncol = 2, labeller = labeller(env_variable = custom_labeller_FQ)) +
theme(axis.text.x = element_blank(),
legend.title = element_blank(),
legend.position = "right", legend.direction = "vertical") +
xlab("Grupos taxonómicos") + ylab("Variables ambientales") + labs(title = element_blank())Abundancia de Macrofauna: Ostracoda y Paranoidea tienden a presentar menor abundancia conforme aumenta la presencia de macroinvertebrados. Esto podría deberse a presión por competencia o depredación. Mientras que los demás grupos tienen un rango más amplio de presencia.
Riqueza de Macrofauna: Ostracoda y Paranoidea presentan un comportamiento similar, con un rango limitado asociado a la presencia de Macrofauna.
Profundidad: Cumacea y Paranoidea se encuentran en mayor abundancia a profundidades mayores a los 20 m. Por otra parte, los demás grupos tienen un rango más amplio de distribución por las profundidades, con una inclinación hacia aguas someras. Nematoda, Oligochaeta, larvas de Polychaeta y Syllidae fueron más abundantes en aguas someras, por debajo de los 20 m.
Materia orgánica: la mayoría de grupos mantienen un rango alto de presencia en el gradiente de materia orgánica, tendiendo a que, al menos un 50 % de los individuos en cada grupo de mantiene en sitios con un porcentaje mayor al 2 %.
custom_labeller_TS <- function(variable) {
# Define the mapping of env_variable values to facet titles
titles <- c("Materia orgánica (%)", "Carbonato de Calcio (CaCO3%)", "Sorting", "Simetría", "Kurtosis","Arenas medias") # Replace with your desired titles
return(titles[match(variable, unique(filtered_data$env_variable)[c(5,6,8:10,18)])])
}
ggplot(filtered_data[filtered_data$env_variable == unique(filtered_data$env_variable)[c(5,6,8:10,18)], ],
aes(x = taxa, y = value, colour = taxa)) +
geom_boxplot() +
scale_color_manual(values = color_boxplot) +
facet_wrap(~ env_variable, scales = "free_y", ncol = 2, labeller = labeller(env_variable = custom_labeller_TS)) +
theme(axis.text.x = element_blank(),
legend.title = element_blank(),
legend.position = "right", legend.direction = "vertical") +
xlab("Grupos taxonómicos") + ylab("Características del sedimento") + labs(title = element_blank())Carbonato de Calcio (%): Los grupos tienen un amplio rango de presencia sobre un gradiente de CACO3, donde la mayoría están presentes en sedimentos muy calizos y solo Syllidae mantiene el 50 % de los individuos en sedimentos con menos de ~ 70% CaCO3.
Kurtosis: En los grupos graficados, esta variable se mantiene en un rango del índice entre 2.5-0.5. Sin embargo, este índice puede sobrepasar 3. Entre más bajo sea el índice, mayor será la heterogeneidad de sedimento, con granos de tamaños más variables y mayor espacio interesticial. Esto favorece a la meiofauna que habita entre los granos. Ante mayor homogeneidad, mayor será la compactación del sedimento que puede dificultar su oxigenación y habitabilidad.
Simetría y Materia orgánica: valores positivos indican una simetría fina, que es un exceso de sedimentos finos respecto al promedio. Como el material fino tiende a retener materia orgánica, serían sedimentos con mayor alimento. En el caso de estos grupos, la simertía tiende a valores bajos, que indican granos más gruesos. Esto se puede relacionar con la kurtosis.
Sorting: indica el acomodo de granos alrededor de un promedio de tamaño. Los sedimentos ocupados por los grupos se mantiene dentro de un rango de buen acomodo, a uno pobre. Valores bajos indican sedimentos compactos, esto cambia conforme aumenta el índice. La mayoría de los grupos mantienen el 50 % de los individuos sobre valores de acomodo moderado a pobre.