The Florida Bay trophic network is made of ties among species modeling carbon consumption (who eats who). This analysis aims to discover underlying patterns at both the whole network and the individual node levels through combined applications of measures for cohesion and centrality. By doing so, we gain insight into how cohesive the network is in its structure, which species are most integral to that structure, and which species play dominant roles. The main questions to be answered through this analysis are: Which species are intermediary food sources among the rest? Who is in the most advantageous position within the food network? Who is most vulnerable in the food network? And, are there any subgroups within the network whose carbon consumption targets specific species?
The Florida Bay Food Web comes from a Stanford Network Analysis Project dataset. The dataset contains two files for the network itself and group classifications. The original data comes from the 1997 Annual Report to the U.S. Geological Survey, Biological Resources Division. Robert E. Ulanowicz, Cristina Bondavalli, and Michael S. Egnotovich produced the data and report. The collection site was between South Florida and the Florida Keys and includes a variety of species ranging from mammals to microscopic species.
#Loading packages
library(igraph)
## Warning: package 'igraph' was built under R version 4.4.3
##
## Attaching package: 'igraph'
## The following objects are masked from 'package:stats':
##
## decompose, spectrum
## The following object is masked from 'package:base':
##
## union
library(ggraph)
## Warning: package 'ggraph' was built under R version 4.4.3
## Loading required package: ggplot2
#Reading in the edgelist and node attributes
file_path <- "Florida-bay.txt"
florida_bay_edgelist <- read.table(file_path, header = FALSE)
florida_bay_node_attr <- read.csv('Florida-bay-meta.csv', header = T, as.is = T)
# Creating the graph object
florida_bay_g <- graph_from_data_frame(d = florida_bay_edgelist, directed = TRUE, vertices=florida_bay_node_attr)
E(florida_bay_g)
## + 1938/1938 edges from a30526a (vertex names):
## [1] DOC ->Free Bacteria
## [2] 2um Spherical Phytoplankt->Water Flagellates
## [3] Synedococcus ->Water Flagellates
## [4] Small Diatoms (<20um) ->Water Flagellates
## [5] Free Bacteria ->Water Flagellates
## [6] Water POC ->Water Flagellates
## [7] 2um Spherical Phytoplankt->Water Cilitaes
## [8] Synedococcus ->Water Cilitaes
## [9] Small Diatoms (<20um) ->Water Cilitaes
## [10] Big Diatoms (>20um) ->Water Cilitaes
## + ... omitted several edges
Data Description: Vertices in the Florida Bay Trophic Network represent species. Various species are included, like fish, mammals, reptiles, microscopic species, and some nonliving organic matter. The network’s edges represent a carbon consumption relationship in which an edge from i to j means j eats i. The dataset was built for the Stanford University SNAP database based on original data from the U.S. Geological Survey in 1997 by Robert Ulanowicz, Cristina Bondavalli, and Michael Egnotovich. The 2016 paper “Higher-order Organization of Complex Networks” by Austin Benson, David Gleich, and Jure Leskovec provides the node attributes. The original data was collected in 1997 as part of a larger collection of the cypress wetland ecosystems, including the Florida Bay Ecosystem.
This dataset can be accessed at: https://snap.stanford.edu/data/Florida-bay.html
set.seed(1)
ggraph(florida_bay_g, layout = 'stress') +
geom_edge_fan(arrow = arrow(length = unit(1, 'mm')), start_cap = circle(1, 'mm'), end_cap = circle(1, 'mm'), color = "lightgray", width = .001, alpha = .6) +
geom_node_text(aes(label = name), size = 1, color = "darkgray") +
ggtitle("Florida Bay Trophic Network 1997") +
theme_void() +
theme(plot.title = element_text(hjust = 0.5))
The Florida Bay Trophic Network is, in essence, a food web. The edges represent a link from i to j wherein j consumes i, representing a carbon consumption. There are 125 species included, with 1938 edges among them. The edges are concentrated mainly toward the center of the network, so the following analysis will target both whole network measures and node-level measures to provide insight into the overall structure and knowledge of individual species.
#Whole network measures
diameter(florida_bay_g) #5
## [1] 5
edge_density(florida_bay_g, loops = FALSE) # Approximately 13% of all possible ties are observed in the network.
## [1] 0.1250323
compactness <- function(florida_bay_g) {
gra.geo <- distances(florida_bay_g)
gra.rdist <- 1/gra.geo
diag(gra.rdist) <- NA
gra.rdist[gra.rdist == Inf] <- 0
comp.igph <- mean(gra.rdist, na.rm = TRUE)
return(comp.igph)
}
compactness(florida_bay_g) #Proportion of dyads in the same component, weighted by the length of their geodesic distances.
## [1] 0.6147527
reciprocity(florida_bay_g, mode = c("default")) # arc reciprocity, proportion of outgoing arcs that are reciprocated.
## [1] 0.03199174
reciprocity(florida_bay_g, mode = c("ratio")) # dyadic reciprocity, proportion of dyads that are symmetric.
## [1] 0.0162559
transitivity(florida_bay_g, type = "global") #Proportion of closed triples
## [1] 0.2836103
triads <- triad.census(florida_bay_g)
## Warning: `triad.census()` was deprecated in igraph 2.0.0.
## ℹ Please use `triad_census()` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
triads
## [1] 145713 114465 1590 18260 15845 13725 1023 473 6048 70
## [11] 114 90 47 212 75 0
barplot(triads, names.arg = c("003", "012", "102", "021D", "021U", "021C",
"111D", "111U", "030T", "030C", "201", "120D",
"120U", "120C", "210", "300"), xlab = "Triadic State",
cex.names = .6, cex.axis = .8, ylim = c(0,180000)) #Triadic states
centr_degree(florida_bay_g)$centralization #Centrality measure based on degree
## [1] 0.2641779
In a network of 125 nodes or species compartments in the case of the Florida Bay, of all the shortest paths (geodesics), we find the longest to be of length 5, so when a link from one species to another exists, it is generally not too distant. Further, of all possible edges in the network, if every species consumed every other species, only 12.5% are present. The results are not surprising given that we would not expect every species to consume every other species or matter it encounters if it encounters them. A compactness of about .61 demonstrates that of all the dyads in the food web, about 61% are in the same component and within close proximity. The network is generally not too spread out. Only about 3% of all outgoing arcs are reciprocated, so of edges from i to j, there is also an edge from j to i in about 3%. Even less is the proportion of symmetric adjacent dyads; only about 1% of species with links consume one another. These results are also not too surprising given the nature of a food chain in which it is unlikely that two species will actively consume one another. The global clustering coefficient reveals that 28% of all triads are closed; that is, 28% of all species linked in sets of three are in a closed triangular relationship. However, most triads have no connection (triadic state 003) or have a connection with only one species consumed (triadic state 012). Finally, the centralization score of .26 reveals that of all the carbon consumption in Florida Bay, about 26% of the activity flows through a central hub. These results demonstrate the nature of a food web where we find that the consumption habits of the species are unbalanced and consumption is mostly a one-way relationship.
#Node level measures
florida_bay_degree <- degree(florida_bay_g, mode = "total")
florida_bay_indeg <- degree(florida_bay_g, mode = "in")
florida_bay_outdeg <- degree(florida_bay_g, mode = "out")
dat <- data.frame(florida_bay_degree, florida_bay_indeg, florida_bay_outdeg)
dat
## florida_bay_degree florida_bay_indeg
## 2um Spherical Phytoplankt 15 0
## Synedococcus 23 0
## Oscillatoria 10 0
## Small Diatoms (<20um) 12 0
## Big Diatoms (>20um) 14 0
## Dinoflagellates 13 0
## Other Phytoplankton 13 0
## Benthic Phytoplankton 17 0
## Thalassia 15 0
## Halodule 14 0
## Syringodium 14 0
## Roots 1 0
## Drift Algae 8 0
## Epiphytes 23 0
## Free Bacteria 11 1
## Water Flagellates 15 5
## Water Cilitaes 17 9
## Acartia Tonsa 38 11
## Oithona nana 38 11
## Paracalanus 38 11
## Other Copepoda 33 6
## Meroplankton 19 7
## Other Zooplankton 30 11
## Benthic Flagellates 13 2
## Benthic Ciliates 13 3
## Meiofauna 20 4
## Sponges 22 10
## Coral 11 7
## Other Cnidaridae 25 17
## Echinoderma 33 21
## Bivalves 54 10
## Detritivorous Gastropods 44 6
## Epiphytic Gastropods 25 1
## Predatory Gastropods 28 5
## Detritivorous Polychaetes 40 5
## Predatory Polychaetes 49 14
## Suspension Feeding Polych 48 12
## Macrobenthos 37 6
## Benthic Crustaceans 39 5
## Detritivorous Amphipods 42 5
## Herbivorous Amphipods 42 6
## Isopods 34 4
## Herbivorous Shrimp 63 2
## Predatory Shrimp 75 14
## Pink Shrimp 71 16
## Thor Floridanus 28 1
## Lobster 29 8
## Detritivorous Crabs 35 4
## Omnivorous Crabs 58 12
## Predatory Crabs 22 6
## Callinectus sapidus 36 6
## Stone Crab 14 7
## Sharks 29 28
## Rays 19 16
## Tarpon 33 29
## Bonefish 26 24
## Sardines 48 20
## Anchovy 33 20
## Bay Anchovy 45 13
## Lizardfish 27 17
## Catfish 31 22
## Eels 37 21
## Toadfish 35 13
## Brotalus 23 13
## Halfbeaks 23 10
## Needlefish 26 12
## Other Killifish 31 20
## Goldspotted killifish 60 22
## Rainwater killifish 56 23
## Snook 22 19
## Sailfin Molly 21 9
## Silverside 37 13
## Other Horsefish 33 13
## Gulf Pipefish 35 14
## Dwarf Seahorse 30 13
## Grouper 31 30
## Jacks 22 18
## Pompano 35 33
## Other Snapper 33 21
## Gray Snapper 23 20
## Mojarra 53 22
## Grunt 38 25
## Porgy 19 17
## Pinfish 48 26
## Scianids 46 34
## Spotted Seatrout 29 22
## Red Drum 27 24
## Spadefish 21 17
## Parrotfish 25 13
## Mackerel 11 10
## Mullet 24 13
## Barracuda 30 26
## Blennies 37 10
## Code Goby 44 10
## Clown Goby 41 10
## Flatfish 42 26
## Filefishes 31 15
## Puffer 33 20
## Other Pelagic Fishes 29 19
## Other Demersal Fishes 63 31
## Loon 34 33
## Greeb 37 36
## Pelican 30 28
## Comorant 30 28
## Big Herons & Egrets 36 33
## Small Herons & Egrets 30 27
## Ibis 30 28
## Roseate Spoonbill 30 28
## Herbivorous Ducks 22 20
## Omnivorous Ducks 24 22
## Predatory Ducks 38 37
## Raptors 38 37
## Gruiformes 30 28
## Small Shorebirds 31 29
## Gulls & Terns 30 28
## Kingfisher 20 19
## Crocodiles 40 39
## Loggerhead Turtle 23 21
## Green Turtle 4 2
## Hawksbill Turtle 16 15
## Dolphin 35 34
## Manatee 20 19
## Water POC 96 84
## Benthic POC 63 44
## DOC 13 12
## florida_bay_outdeg
## 2um Spherical Phytoplankt 15
## Synedococcus 23
## Oscillatoria 10
## Small Diatoms (<20um) 12
## Big Diatoms (>20um) 14
## Dinoflagellates 13
## Other Phytoplankton 13
## Benthic Phytoplankton 17
## Thalassia 15
## Halodule 14
## Syringodium 14
## Roots 1
## Drift Algae 8
## Epiphytes 23
## Free Bacteria 10
## Water Flagellates 10
## Water Cilitaes 8
## Acartia Tonsa 27
## Oithona nana 27
## Paracalanus 27
## Other Copepoda 27
## Meroplankton 12
## Other Zooplankton 19
## Benthic Flagellates 11
## Benthic Ciliates 10
## Meiofauna 16
## Sponges 12
## Coral 4
## Other Cnidaridae 8
## Echinoderma 12
## Bivalves 44
## Detritivorous Gastropods 38
## Epiphytic Gastropods 24
## Predatory Gastropods 23
## Detritivorous Polychaetes 35
## Predatory Polychaetes 35
## Suspension Feeding Polych 36
## Macrobenthos 31
## Benthic Crustaceans 34
## Detritivorous Amphipods 37
## Herbivorous Amphipods 36
## Isopods 30
## Herbivorous Shrimp 61
## Predatory Shrimp 61
## Pink Shrimp 55
## Thor Floridanus 27
## Lobster 21
## Detritivorous Crabs 31
## Omnivorous Crabs 46
## Predatory Crabs 16
## Callinectus sapidus 30
## Stone Crab 7
## Sharks 1
## Rays 3
## Tarpon 4
## Bonefish 2
## Sardines 28
## Anchovy 13
## Bay Anchovy 32
## Lizardfish 10
## Catfish 9
## Eels 16
## Toadfish 22
## Brotalus 10
## Halfbeaks 13
## Needlefish 14
## Other Killifish 11
## Goldspotted killifish 38
## Rainwater killifish 33
## Snook 3
## Sailfin Molly 12
## Silverside 24
## Other Horsefish 20
## Gulf Pipefish 21
## Dwarf Seahorse 17
## Grouper 1
## Jacks 4
## Pompano 2
## Other Snapper 12
## Gray Snapper 3
## Mojarra 31
## Grunt 13
## Porgy 2
## Pinfish 22
## Scianids 12
## Spotted Seatrout 7
## Red Drum 3
## Spadefish 4
## Parrotfish 12
## Mackerel 1
## Mullet 11
## Barracuda 4
## Blennies 27
## Code Goby 34
## Clown Goby 31
## Flatfish 16
## Filefishes 16
## Puffer 13
## Other Pelagic Fishes 10
## Other Demersal Fishes 32
## Loon 1
## Greeb 1
## Pelican 2
## Comorant 2
## Big Herons & Egrets 3
## Small Herons & Egrets 3
## Ibis 2
## Roseate Spoonbill 2
## Herbivorous Ducks 2
## Omnivorous Ducks 2
## Predatory Ducks 1
## Raptors 1
## Gruiformes 2
## Small Shorebirds 2
## Gulls & Terns 2
## Kingfisher 1
## Crocodiles 1
## Loggerhead Turtle 2
## Green Turtle 2
## Hawksbill Turtle 1
## Dolphin 1
## Manatee 1
## Water POC 12
## Benthic POC 19
## DOC 1
#dat[order(-dat$florida_bay_outdeg),] #Sorting by outdegree
#dat[order(-dat$florida_bay_indeg),] #Sorting by indegree
bet.dat <- data.frame(betweenness(florida_bay_g, directed = TRUE, normalized = FALSE))
bet.dat
## betweenness.florida_bay_g..directed...TRUE..normalized...FALSE.
## 2um Spherical Phytoplankt 0.0000000
## Synedococcus 0.0000000
## Oscillatoria 0.0000000
## Small Diatoms (<20um) 0.0000000
## Big Diatoms (>20um) 0.0000000
## Dinoflagellates 0.0000000
## Other Phytoplankton 0.0000000
## Benthic Phytoplankton 0.0000000
## Thalassia 0.0000000
## Halodule 0.0000000
## Syringodium 0.0000000
## Roots 0.0000000
## Drift Algae 0.0000000
## Epiphytes 0.0000000
## Free Bacteria 104.1373737
## Water Flagellates 0.8436869
## Water Cilitaes 1.7477273
## Acartia Tonsa 453.7958412
## Oithona nana 453.7958412
## Paracalanus 453.7958412
## Other Copepoda 415.9942474
## Meroplankton 201.8666762
## Other Zooplankton 303.2906774
## Benthic Flagellates 3.1074042
## Benthic Ciliates 3.1074042
## Meiofauna 23.8571403
## Sponges 240.8440306
## Coral 34.4244883
## Other Cnidaridae 114.9012369
## Echinoderma 173.8967348
## Bivalves 1327.4966673
## Detritivorous Gastropods 94.5410382
## Epiphytic Gastropods 3.3280021
## Predatory Gastropods 124.7414776
## Detritivorous Polychaetes 64.0132261
## Predatory Polychaetes 116.2244873
## Suspension Feeding Polych 926.0677376
## Macrobenthos 65.9358932
## Benthic Crustaceans 93.0179024
## Detritivorous Amphipods 130.3097329
## Herbivorous Amphipods 126.4333253
## Isopods 24.2452899
## Herbivorous Shrimp 24.5167623
## Predatory Shrimp 257.8155809
## Pink Shrimp 347.9182929
## Thor Floridanus 4.0631470
## Lobster 24.9720630
## Detritivorous Crabs 61.9214018
## Omnivorous Crabs 159.2069134
## Predatory Crabs 32.6747867
## Callinectus sapidus 50.1484114
## Stone Crab 8.7259703
## Sharks 11.5356762
## Rays 9.8555101
## Tarpon 17.3504575
## Bonefish 15.3263917
## Sardines 108.5916762
## Anchovy 64.0859357
## Bay Anchovy 74.2012685
## Lizardfish 14.2309818
## Catfish 74.6937063
## Eels 115.8451696
## Toadfish 51.5274763
## Brotalus 26.5849115
## Halfbeaks 44.1292033
## Needlefish 17.9809903
## Other Killifish 48.2748986
## Goldspotted killifish 176.5874334
## Rainwater killifish 155.9277617
## Snook 7.6934103
## Sailfin Molly 33.6968427
## Silverside 62.0899433
## Other Horsefish 34.1371785
## Gulf Pipefish 37.6860023
## Dwarf Seahorse 30.2094170
## Grouper 9.4350286
## Jacks 5.8580086
## Pompano 12.3205647
## Other Snapper 18.4056193
## Gray Snapper 3.8945509
## Mojarra 119.0058301
## Grunt 48.5867096
## Porgy 8.6082918
## Pinfish 107.4907019
## Scianids 48.1234701
## Spotted Seatrout 15.6480522
## Red Drum 9.8981889
## Spadefish 20.2344550
## Parrotfish 46.4829579
## Mackerel 0.0000000
## Mullet 86.5771828
## Barracuda 7.7073579
## Blennies 17.9145881
## Code Goby 80.5523140
## Clown Goby 77.5433981
## Flatfish 112.4375539
## Filefishes 68.2303718
## Puffer 63.8397177
## Other Pelagic Fishes 42.7299279
## Other Demersal Fishes 214.9104039
## Loon 3.8962094
## Greeb 5.5906883
## Pelican 3.1539603
## Comorant 3.0782027
## Big Herons & Egrets 8.3983125
## Small Herons & Egrets 8.7827576
## Ibis 8.1771563
## Roseate Spoonbill 7.5245792
## Herbivorous Ducks 7.5624604
## Omnivorous Ducks 7.6338890
## Predatory Ducks 5.2904170
## Raptors 3.2645461
## Gruiformes 8.7521215
## Small Shorebirds 9.9977925
## Gulls & Terns 8.7521215
## Kingfisher 1.4351873
## Crocodiles 5.9886000
## Loggerhead Turtle 12.1711108
## Green Turtle 0.2428571
## Hawksbill Turtle 8.6771113
## Dolphin 2.6314445
## Manatee 6.6291031
## Water POC 6116.0110188
## Benthic POC 2522.8190295
## DOC 13.1373737
Considering measures of individual nodes, the degree values reveal that the species with the most ties to other species are water POC, predatory shrimp, and pink shrimp. Water POC, which includes both particulate nonliving carbon and attached bacteria communities, unsurprisingly maintains the highest value of overall degree and in-degree, maintaining its role as a primary producer. However, the species with the highest out-degree values were herbivorous shrimp, predatory shrimp, and pink shrimp, with an out-degree measure of 61, 61, and 65, respectively. These shrimp species remain most consumed by others, making them the most vulnerable in the ecosystem in terms of a food web. On the other hand, the least vulnerable species within the food web, maintaining the highest numbers of species consumed, are, excluding water POC and benthic POC, crocodiles, predatory ducks, raptors, and greeb. These species had in-degree measures of 39, 37, 37, and 36, respectively. At the same time, they all had an out-degree measure of 1, placing them in the most advantageous position. Measuring how often a species falls along the shortest path between two other species, the top scores were from water POC, Benthic POC (non-living organic carbon in sediment), bivalves, and the suspension feeding polych. The organic carbon in water and sediments is non-living. However, the bivalves include species like oysters or scallops, and the polych are marine worms. These species are the intermediary carbon transfers most often occurring between other species.
gv <- cluster_edge_betweenness(florida_bay_g, modularity = TRUE)
modularity(gv)
## [1] 0.04390997
length(gv)
## [1] 81
membership(gv)
## 2um Spherical Phytoplankt Synedococcus Oscillatoria
## 1 1 1
## Small Diatoms (<20um) Big Diatoms (>20um) Dinoflagellates
## 1 1 1
## Other Phytoplankton Benthic Phytoplankton Thalassia
## 1 1 1
## Halodule Syringodium Roots
## 1 1 1
## Drift Algae Epiphytes Free Bacteria
## 1 1 2
## Water Flagellates Water Cilitaes Acartia Tonsa
## 3 4 5
## Oithona nana Paracalanus Other Copepoda
## 6 7 8
## Meroplankton Other Zooplankton Benthic Flagellates
## 9 10 1
## Benthic Ciliates Meiofauna Sponges
## 1 1 11
## Coral Other Cnidaridae Echinoderma
## 12 13 14
## Bivalves Detritivorous Gastropods Epiphytic Gastropods
## 1 1 1
## Predatory Gastropods Detritivorous Polychaetes Predatory Polychaetes
## 15 1 1
## Suspension Feeding Polych Macrobenthos Benthic Crustaceans
## 1 1 1
## Detritivorous Amphipods Herbivorous Amphipods Isopods
## 1 1 1
## Herbivorous Shrimp Predatory Shrimp Pink Shrimp
## 16 1 1
## Thor Floridanus Lobster Detritivorous Crabs
## 17 1 1
## Omnivorous Crabs Predatory Crabs Callinectus sapidus
## 1 1 1
## Stone Crab Sharks Rays
## 1 18 1
## Tarpon Bonefish Sardines
## 19 20 21
## Anchovy Bay Anchovy Lizardfish
## 22 23 24
## Catfish Eels Toadfish
## 25 26 27
## Brotalus Halfbeaks Needlefish
## 28 29 30
## Other Killifish Goldspotted killifish Rainwater killifish
## 31 32 33
## Snook Sailfin Molly Silverside
## 34 35 36
## Other Horsefish Gulf Pipefish Dwarf Seahorse
## 37 38 39
## Grouper Jacks Pompano
## 40 41 42
## Other Snapper Gray Snapper Mojarra
## 43 44 45
## Grunt Porgy Pinfish
## 46 47 48
## Scianids Spotted Seatrout Red Drum
## 49 50 51
## Spadefish Parrotfish Mackerel
## 52 53 54
## Mullet Barracuda Blennies
## 1 55 56
## Code Goby Clown Goby Flatfish
## 1 1 57
## Filefishes Puffer Other Pelagic Fishes
## 58 59 60
## Other Demersal Fishes Loon Greeb
## 61 62 63
## Pelican Comorant Big Herons & Egrets
## 64 65 66
## Small Herons & Egrets Ibis Roseate Spoonbill
## 67 68 69
## Herbivorous Ducks Omnivorous Ducks Predatory Ducks
## 70 71 72
## Raptors Gruiformes Small Shorebirds
## 58 73 74
## Gulls & Terns Kingfisher Crocodiles
## 75 76 77
## Loggerhead Turtle Green Turtle Hawksbill Turtle
## 78 58 79
## Dolphin Manatee Water POC
## 80 81 58
## Benthic POC DOC
## 1 1
sizes(gv)
## Community sizes
## 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
## 42 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
## 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
## 1 1 1 1 1 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## 79 80 81
## 1 1 1
Community detection via edge betweenness finds 81 subcommunities, almost entirely comprised of singular memberships. One community has 42 members, and the next largest has four members. About 63% of all species are isolated. Those within the large community are a majority of smaller species like zooplankton, phytoplankton, seagrass, or macroinvertebrates.
The main takeaway from the analysis above is that our network measures help us identify the key players in an ecosystem’s structure. We gained insight into who the primary producers and consumers are via the node-level measures identifying shrimp as the most often consumed and crocodiles, predatory ducks, raptors, and greeb as the largest consumers. Additionally, when the ecosystem is mapped out at the whole network level, it appears to be densely connected. Still, various measures reveal that given how much connection we could see between nodes, it is unbalanced and generally sparse. The nature of a food web follows chains of consumption, so these results are not too surprising. However, there is still some nature of a central hub. Future work on this topic should draw on these results, collected 28 years ago, and compare today’s ecosystem dynamics in the same region. By doing so, we may gain insight into new roles for primary consumers and producers, the loss of species, the role of anthropogenic activities, and the impacts of climate change. Additionally, studying the change in ecosystem networks based on environmental protections can help evaluate their effectiveness. Another way these findings and general methods can be used is to curb the effects of invasive species and those with unchecked population growth. Some limitations in this analysis arise from generalizing species into a singular category. One species node can include multiple species grouped into one category, and they all represent who consumes who, so we gain no insight into the sheer volume of particular species. Additionally, we cannot determine how location within the region impacts the feeding habits of these species. There are many considerations to make outside of this network. Still, the insights into how carbon consumption flows throughout the network allow us to understand ecosystem dynamics through a general lens.