#Laboratorio de Análisis de Red Trófica En este laboratorio estaremos analizando los datos de sus observaciones de una red trófica, utilizando el paquete foodweb. Este nos permite calcular algunos índices que describen la red trófica y visualizar la misma.
##Construcción de la matriz de interacciones Usando una hoja de cálculo (‘Excel’) crear una tabla con las variables depredador, presa, e interaccion, en la que van a colocar, por línea, el nombre abreviado del depredador, el nombre abreviado de la presa, y el número 1 para indicar que observaron (o tienen evidencia) de la interacción depredador-presa, herbívoro-productor primario, o equivalente.
El ejemplo siguiente presenta una red trófica hipotética con 13 especies. A continuación se muestra el código para leer los datos del archivo interactions.xlsx.
library(readxl)
interact <- read_excel("interactions.xlsx",
col_names = TRUE)
interact
## # A tibble: 31 x 3
## Depredador Presa Interaccion
## <chr> <chr> <dbl>
## 1 Tortuga Guppys 1
## 2 Tortuga Yerbas 1
## 3 Tortuga Alga_filamentosa 1
## 4 Tortuga Mosca 1
## 5 Renacuajos Protozoario 1
## 6 Renacuajos Alga_filamentosa 1
## 7 Libelula Renacuajos 1
## 8 Libelula Guppys 1
## 9 Libelula Larvas_de_insectos 1
## 10 Tortuga Larvas_de_insectos 1
## # … with 21 more rows
A continuación vamos a crear la matriz de interacciones:
#obtener los nombres de filas y columnas (todas las especies)
nameVals <- sort(unique(unlist(interact[1:2])))
# construir una matriz de ceros (0) con todas las especies
matriz <- matrix(0, length(nameVals), length(nameVals), dimnames = list(nameVals, nameVals))
# llenar la matriz con los valores (1) de los pares depredador-presa
matriz[as.matrix(interact[c("Presa", "Depredador")])] <- interact[["Interaccion"]]
matriz
## Alga_filamentosa Aranas Guppys Larvas_de_insectos Libelula
## Alga_filamentosa 0 0 1 0 0
## Aranas 0 1 0 0 0
## Guppys 0 0 0 0 1
## Larvas_de_insectos 0 0 1 0 1
## Libelula 0 0 0 0 0
## Martinete 0 0 0 0 0
## Mosca 0 1 0 0 1
## Protozoario 0 0 1 0 0
## Rana 0 0 0 0 0
## Renacuajos 0 0 0 0 1
## Rotifero 0 0 1 0 0
## Tortuga 0 0 0 0 0
## Yerbas 0 0 0 0 0
## Martinete Mosca Protozoario Rana Renacuajos Rotifero Tortuga
## Alga_filamentosa 0 0 1 0 1 1 1
## Aranas 0 0 0 1 0 0 0
## Guppys 1 0 0 1 0 0 1
## Larvas_de_insectos 0 0 0 0 0 0 1
## Libelula 0 0 0 1 0 0 0
## Martinete 0 0 0 0 0 0 0
## Mosca 0 0 0 1 0 0 1
## Protozoario 0 0 1 0 1 0 0
## Rana 0 0 0 1 0 0 0
## Renacuajos 1 0 0 0 1 0 0
## Rotifero 0 0 0 0 0 1 0
## Tortuga 0 0 0 0 0 0 0
## Yerbas 0 1 0 0 0 0 1
## Yerbas
## Alga_filamentosa 0
## Aranas 0
## Guppys 0
## Larvas_de_insectos 0
## Libelula 0
## Martinete 0
## Mosca 0
## Protozoario 0
## Rana 0
## Renacuajos 0
## Rotifero 0
## Tortuga 0
## Yerbas 0
##Cálculo de los índices de la red trófica Usando el paquete foodweb podemos calcular algunos de los índices que describen la estructura de una red alimentaria.
Algunos de estos índices o características de las redes tróficas son los siguientes:
Posición trófica: posición de la especie (\(S_i\)) en la red trófica:
Enlaces: número de conexiones entre las especies consumidoras y las especies consumidas (L).
Conectancia: describe la cantidad de enlaces que ocurren en relación a los posibles enlaces en la red: \[C = \frac{L}{S(S-1)/2}\]
Densidad de enlaces: se refiere al número promedio de enlaces alimentarios por especie: \[\frac{L}{S}\]
Niveles tróficos: número de posiciones tróficas separables.
Fracciones de especies: pueden referirse a la fracción de especies: basales, intermedias, topes, omnívoras, caníbales, herbívoras.
Presa:Depredador: razón entre especies presa y especies depredadoras.
Cálcularemos los valores anteriores usando el paquete foodweb:
library(foodweb)
## Loading required package: rgl
library(kableExtra)
write.table(matriz, file = "redprueba.csv", append=FALSE, sep=",", row.names=FALSE, col.names=FALSE)
analyse.single(filename = "redprueba.csv", omn = c("TRUE"), cann = c("TRUE"), positions = c("TRUE"), maxlevels = 8)
## [1] "Check your current working directory for the output file(s). Network parameters are in a file with the name Results-redprueba.csv"
kable(indices, "html", align = "c") %>%
kable_styling(full_width = F)
Web ID | Species richness | Total # Links | Connectance | Link density | Frac omniv | Frac cannib | Total # trophic positions | Frac basal | Frac intermediate | Frac top | Frac herbiv | Prey:Predator |
---|---|---|---|---|---|---|---|---|---|---|---|---|
redprueba.csv | 13 | 30 | 0.177514792899408 | 2.30769230769231 | 0.538461538461538 | 0.0769230769230769 | 5 | 0.230769230769231 | 0.692307692307692 | 0.0769230769230769 | 0.230769230769231 | 1.2 |
Ahora podemos visualizar la red trófica (aparece en ventana separada), pero antes debemos indicar una cantidad de colores y sus respectivos radios de separación, que sea igual al número de posiciones (niveles) tróficos obtenidos en el análisis:
library(rgl)
plotweb(col=c("green","blue","brown","orange","red"),radii=c(30,20,20,20,30))
rglwidget()