Proyecto B0164: Descripción ambiental y de los organismos de los sedimentos marinos en el Parque Nacional Isla del Coco, Costa Rica.

Introducción

Fig. 1. A. Cuamcea; B. Spionidae; C. Oligochaeta; D. Gastropoda; E. Paraonidae; F. Ostracoda; G. Foraminifera; H. Syllidae; I. Nematoda. Extraído de Google Images.
Fig. 1. A. Cuamcea; B. Spionidae; C. Oligochaeta; D. Gastropoda; E. Paraonidae; F. Ostracoda; G. Foraminifera; H. Syllidae; I. Nematoda. Extraído de Google Images.

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.).

Fig. 2. Diagramación de efectos de mediados por la meiofauna sobre procesos sedimentológicos, tróficos y ecológicos de los cuales derivan servicios ecológicos. Extraído de Schratzberger & Ingels (2018).
Fig. 2. Diagramación de efectos de mediados por la meiofauna sobre procesos sedimentológicos, tróficos y ecológicos de los cuales derivan servicios ecológicos. Extraído de Schratzberger & Ingels (2018).

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.).

Fig. 3. Diagramación de efectos de mediados por la meiofauna sobre estabilidad del sedimento. EPS, sustáncias poliméricas extracelulares. C, carbono. N, nitrógeno. P, fósforo. Extraído de Schratzberger & Ingels (2018).
Fig. 3. Diagramación de efectos de mediados por la meiofauna sobre estabilidad del sedimento. EPS, sustáncias poliméricas extracelulares. C, carbono. N, nitrógeno. P, fósforo. Extraído de Schratzberger & Ingels (2018).

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).

Objetivos

  1. 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.

  2. 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.

Hipotesis

  • Las variables ambientales y tipos de sedimento marino tienen efecto sobre la comunidad
    • Se espera que la composición de especies varíe a lo largo de los gradientes ambientales.

Metodología

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.

Conclusiones

  • 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

Referencias

  • 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

Agradecimientos

  • Dr. Jeffrey Sibaja-Cordero. CIMAR, UCR. Investigador a cargo del proyecto B0164
  • Dr. Marcelo Araya-Salas. Centro de investigación en Neurociencia, UCR.
  • Dr. Mario Espinoza. CIMAR, UCR.

Análisis estadístico

Paquetes

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)

Cargar bases

Meiofauna

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 numericas

Base modificada

Macrofauna

macrofauna <- read_excel("../data/raw/Macrofauna_abundancia_coco.xlsx")
macrofauna <- data.frame(macrofauna)
datatable(macrofauna,  options = list(scrollX = TRUE))

Variables ambientales

ambientales <- read.csv("../data/raw/Ambientales_coordenadas.csv", sep = ";")
ambientales<- data.frame(ambientales)
datatable(ambientales,  options = list(scrollX = TRUE))

Transformación de matriz

Fig. 4. Diagramación de un análisis de redundancía. Extraído de Legendre & Gallagher (2001).
Fig. 4. Diagramación de un análisis de redundancía. Extraído de Legendre & Gallagher (2001).

CNESS

Chord 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).

devtools::install_github("Lenaick-Menot/ness") #from Menot. Zenodo. 2019; #https://doi.org/10.5281/zenodo.3254750
# Número de muestra
## Puede tardar 20 min
mNESS <- NESSm(m) 
mNESS
# Matriz de probabilidades de muestreo
## Puede tardar hasta 5 minutos
Hmatrix <- CNESS(m, mNESS) 

Selección de variables

Matriz de factores ambientales

M_ambientales <- cbind(ambientales, macrofauna[, 2:3])
datatable(M_ambientales,  options = list(scrollX = TRUE))

Análisis exploratorio

PCA de variables ambientales

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
screeplot(pca.c, main=NULL)

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.

Variables seleccionadas
Matriz de variables seleccionadas
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]

Correlación

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
  • A partir de un ídice de 0.65 podemos decir que hay una correlacion.
  • Podemos descartar variables por similitud con otras.
  • Si el valor es negativo o positivo, cambia la direccion de la relación

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.

Análisis de conglomerados

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)

Gráfico de calor
# 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)

Modelo RDA

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.

  • La hipótesis nula (p 0.05) de un RDA indica que o hay evidencia para concluir que alguna de las variables tiene efecto sobre la comunidad, donde la composición cambia entre los gradientes ambientales.
  • La hipótesis alternativa (p ≥ 0.05) de un RDA indica que existe evidencia de que, al menos una de las variables explicativas tienen efecto sobre la comunidad.

Modelo - CNESS

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
anova(rda_CNESS) # Hmatrix
## 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
# Plot de ordenación
plot(rda_CNESS, scaling = 3)

RDA plot - Sitios

# 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)

RDA plot - Especies

Saturado
#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)

Especies de importancia
# 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)

Sedimentos y ambientales

# 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") ## Mollusca

Variables ambientales

custom_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 %.

Tipo de sedimento

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.

Fig. 5 Tamaño de granos y mediciones gráficas del sedimento. Extraído de Blott & Pye (2001).
Fig. 5 Tamaño de granos y mediciones gráficas del sedimento. Extraído de Blott & Pye (2001).