This page illustrates how to use the enaUtility()
and
enaMTI()
functions to find the integral or net impact of
one species on another. These also characterize the resultant
qualitative relationships.
Load Model
We can load the library of models and select one to use for this illustration.
# load data
data(enaModels) # load library of Ecosystem Networks
names(enaModels) # view model names
#> [1] "Marine Coprophagy (oyster)"
#> [2] "Lake Findley "
#> [3] "Mirror Lake"
#> [4] "Lake Wingra"
#> [5] "Marion Lake"
#> [6] "Cone Springs"
#> [7] "Silver Springs"
#> [8] "English Channel"
#> [9] "Oyster Reef "
#> [10] "Baie de Somme"
#> [11] "Bothnian Bay"
#> [12] "Bothnian Sea"
#> [13] "Ythan Estuary"
#> [14] "Sundarban Mangrove (virgin)"
#> [15] "Sundarban Mangrove (reclaimed)"
#> [16] "Baltic Sea"
#> [17] "Ems Estuary"
#> [18] "Swartkops Estuary 15"
#> [19] "Southern Benguela Upwelling"
#> [20] "Peruvian Upwelling"
#> [21] "Crystal River (control)"
#> [22] "Crystal River (thermal)"
#> [23] "Charca de Maspalomas Lagoon"
#> [24] "Northern Benguela Upwelling"
#> [25] "Swartkops Estuary"
#> [26] "Sunday Estuary"
#> [27] "Kromme Estuary"
#> [28] "Okefenokee Swamp"
#> [29] "Neuse Estuary (early summer 1997)"
#> [30] "Neuse Estuary (late summer 1997) "
#> [31] "Neuse Estuary (early summer 1998)"
#> [32] "Neuse Estuary (late summer 1998)"
#> [33] "Gulf of Maine"
#> [34] "Georges Bank"
#> [35] "Middle Atlantic Bight"
#> [36] "Narragansett Bay"
#> [37] "Southern New England Bight"
#> [38] "Chesapeake Bay"
#> [39] "Mondego Estuary (Zostera sp. Meadows)"
#> [40] "Mdloti Estuary (C, March 2002)"
#> [41] "St. Marks Seagrass, site 1 (Jan.)"
#> [42] "St. Marks Seagrass, site 1 (Feb.)"
#> [43] "St. Marks Seagrass, site 2 (Jan.)"
#> [44] "St. Marks Seagrass, site 2 (Feb.)"
#> [45] "St. Marks Seagrass, site 3 (Jan.)"
#> [46] "St. Marks Seagrass, site 4 (Feb.)"
#> [47] "Sylt-Romo Bight (C)"
#> [48] "Graminoids (wet)"
#> [49] "Graminoids (dry)"
#> [50] "Cypress (wet)"
#> [51] "Cypress (dry)"
#> [52] "Lake Oneida (pre-ZM)"
#> [53] "Lake Oneida (post-ZM)"
#> [54] "Bay of Quinte (pre-ZM)"
#> [55] "Bay of Quinte (post-ZM)"
#> [56] "Mangroves (wet)"
#> [57] "Mangroves (dry)"
#> [58] "Florida Bay (wet)"
#> [59] "Florida Bay (dry)"
#> [60] "Hubbard Brook (Ca)(Waide)"
#> [61] "Hardwood Forest, NH (Ca)"
#> [62] "Duglas Fir Forest, WA (Ca)"
#> [63] "Duglas Fir Forest, WA (K)"
#> [64] "Puerto Rican Rain Forest (Ca)"
#> [65] "Puerto Rican Rain Forest (K)"
#> [66] "Puerto Rican Rain Forest (Mg)"
#> [67] "Puerto Rican Rain Forest (Cu)"
#> [68] "Puerto Rican Rain Forest (Fe)"
#> [69] "Puerto Rican Rain Forest (Mn)"
#> [70] "Puerto Rican Rain Forest (Na)"
#> [71] "Puerto Rican Rain Forest (Sr)"
#> [72] "Tropical Rain Forest (N)"
#> [73] "Neuse River Estuary (N, AVG)"
#> [74] "Neuse River Estuary (N, Spring 1985)"
#> [75] "Neuse River Estuary (N, Summer 1985)"
#> [76] "Neuse River Estuary (N, Fall 1985)"
#> [77] "Neuse River Estuary (N, Winter 1986)"
#> [78] "Neuse River Estuary (N, Spring 1986)"
#> [79] "Neuse River Estuary (N, Summer 1986)"
#> [80] "Neuse River Estuary (N, Fall 1986)"
#> [81] "Neuse River Estuary (N, Winter 1987)"
#> [82] "Neuse River Estuary (N, Spring 1987)"
#> [83] "Neuse River Estuary (N, Summer 1987)"
#> [84] "Neuse River Estuary (N, Fall 1987)"
#> [85] "Neuse River Estuary (N, Winter 1988)"
#> [86] "Neuse River Estuary (N, Spring 1988)"
#> [87] "Neuse River Estuary (N, Summer 1988)"
#> [88] "Neuse River Estuary (N, Fall 1988)"
#> [89] "Neuse River Estuary (N, Winter 1989)"
#> [90] "Cape Fear River Estuary (N, oligohaline)"
#> [91] "Cape Fear River Estuary (N, polyhaline)"
#> [92] "Lake Lanier (P) Averaged"
#> [93] "Great Lakes (N)"
#> [94] "Baltic Sea (N)"
#> [95] "Chesapeake Bay (N)"
#> [96] "Chesapeake Bay (P)"
#> [97] "Chesapeake Bay (P, Winter)"
#> [98] "Chesapeake Bay (P, Spring)"
#> [99] "Chesapeake Bay (P, Summer)"
#> [100] "Chesapeake Bay (P, Fall)"
#> [101] "Sylt-Romo Bight (N)"
#> [102] "Sylt-Romo Bight (P)"
#> [103] "Beijing Urban Metabolism (C)"
#> [104] "Vienna Urban Metabolism (C)"
NET <- enaModels[[9]] # select the oyster NET
Utility Analysis
Next, we apply the utility network analysis.
u <- enaUtility(NET) # perform the ENA flow analysis
attributes(u)
#> $names
#> [1] "D" "SD" "U" "Y"
#> [5] "SY" "Relations.Table" "ns"
We can examine the througflow scaled integral utility matrix
show(u$Y) # dimesionalized integral utiilty matrix
#> Filter Feeders Microbiota Meiofauna Deposit Feeders
#> Filter Feeders 34.5516009 3.21636398 1.76164548 0.002615238
#> Microbiota 2.9290686 6.05912271 0.01745223 1.096717767
#> Meiofauna 0.5320225 -1.63465748 8.02036899 0.417444025
#> Deposit Feeders -1.1206475 -0.49779890 -0.47764506 2.286340165
#> Predators -0.4863857 0.05982146 0.04660642 -0.154354794
#> Deposited Detritus -9.2412030 4.47185597 2.43467798 0.166693897
#> Predators Deposited Detritus
#> Filter Feeders 0.2895772 9.44904264
#> Microbiota 0.1746756 -4.31441404
#> Meiofauna 0.0469263 -0.79970117
#> Deposit Feeders 0.1216204 1.45166081
#> Predators 0.6693019 -0.02101919
#> Deposited Detritus -0.2985165 13.34522178
The related sign matrix is
show(u$SY) # the sign matrix assoicated with U
#> Filter Feeders Microbiota Meiofauna Deposit Feeders
#> Filter Feeders "+" "+" "+" "+"
#> Microbiota "+" "+" "+" "+"
#> Meiofauna "+" "-" "+" "+"
#> Deposit Feeders "-" "-" "-" "+"
#> Predators "-" "+" "+" "-"
#> Deposited Detritus "-" "+" "+" "+"
#> Predators Deposited Detritus
#> Filter Feeders "+" "+"
#> Microbiota "+" "-"
#> Meiofauna "+" "-"
#> Deposit Feeders "+" "+"
#> Predators "+" "-"
#> Deposited Detritus "-" "+"
These elements are essentially intermediate results. The “Relations.Table” summarizes the key results
u$Relations.Table
#> From To Direct Integral changed
#> 1 Filter Feeders Filter Feeders (0,0) (+,+) *
#> 2 Filter Feeders Microbiota (0,0) (+,+) *
#> 3 Filter Feeders Meiofauna (0,0) (+,+) *
#> 4 Filter Feeders Deposit Feeders (0,0) (+,-) *
#> 5 Filter Feeders Predators (+,-) (+,-) -
#> 6 Filter Feeders Deposited Detritus (+,-) (+,-) -
#> 7 Microbiota Microbiota (0,0) (+,+) *
#> 8 Microbiota Meiofauna (+,-) (+,-) -
#> 9 Microbiota Deposit Feeders (+,-) (+,-) -
#> 10 Microbiota Predators (0,0) (+,+) *
#> 11 Microbiota Deposited Detritus (-,+) (-,+) -
#> 12 Meiofauna Meiofauna (0,0) (+,+) *
#> 13 Meiofauna Deposit Feeders (+,-) (+,-) -
#> 14 Meiofauna Predators (0,0) (+,+) *
#> 15 Meiofauna Deposited Detritus (-,+) (-,+) -
#> 16 Deposit Feeders Deposit Feeders (0,0) (+,+) *
#> 17 Deposit Feeders Predators (+,-) (+,-) -
#> 18 Deposit Feeders Deposited Detritus (+,-) (+,+) *
#> 19 Predators Predators (0,0) (+,+) *
#> 20 Predators Deposited Detritus (+,-) (-,-) *
#> 21 Deposited Detritus Deposited Detritus (0,0) (+,+) *
This table summarizes the pairwise relationship between each of the pairwise interactions in the network when considering just the direct interactions and the integral interactions, which consider all of the indirect interactions as well. Often these indirect interactions have the power to transform a relationship that it is different than it first appears.
Several whole network metrics are derived from this information.
u$ns
#> lam1D relation.change.F synergism.F mutualism.F
#> r.change 0.8991676 61.9 4.915298 2.272727
The synergism.F parameter is a cost-benefit ratio. When it is greater than 1, it indicates that there is more integral positive utility in the system than negative utility. The mutualism parameter is a similar ratio. When it is greater than 1 in indicates that there are more integral positive relationships in the network than negative ones. The stars in the right hand column indicate if this relationship has changed.
Mixed Trophic Impacts
The Mixed Trophic Impacts analysis of Ulanowicz and Puccia (1990) is executed with the enaMTI() function as follows.
mti <- enaMTI(NET) # apply mixed trophic analysis
attributes(mti)
#> $names
#> [1] "G" "FP" "Q" "M"
#> [5] "Relations.Table"
Like with the Utility analysis, we can ascertain the mixed impacts (integral) from the M matrix. Note that I have rounded the values to 3 decimal places for brevity.
round(mti$M,3)
#> Filter Feeders Microbiota Meiofauna Deposit Feeders
#> Filter Feeders -0.025 0.170 0.431 0.261
#> Microbiota -0.002 -0.307 -0.182 0.205
#> Meiofauna 0.000 -0.474 -0.071 0.016
#> Deposit Feeders -0.007 -0.268 -0.007 -0.103
#> Predators -0.030 0.020 -0.004 -0.076
#> Deposited Detritus -0.003 0.218 0.613 0.449
#> Predators Deposited Detritus
#> Filter Feeders 0.796 0.516
#> Microbiota 0.050 -0.295
#> Meiofauna 0.004 -0.002
#> Deposit Feeders 0.220 0.177
#> Predators -0.042 -0.020
#> Deposited Detritus 0.110 -0.251
Again, the key results are summarized in the Relations.Table
mti$Relations.Table
#> From To Net (direct) Mixed (integral) changed
#> 1 Filter Feeders Filter Feeders (0,0) (-,-) *
#> 2 Filter Feeders Microbiota (0,0) (-,+) *
#> 3 Filter Feeders Meiofauna (0,0) (-,+) *
#> 4 Filter Feeders Deposit Feeders (0,0) (-,+) *
#> 5 Filter Feeders Predators (-,+) (-,+) -
#> 6 Filter Feeders Deposited Detritus (0,+) (-,+) *
#> 7 Microbiota Microbiota (0,0) (-,-) *
#> 8 Microbiota Meiofauna (-,+) (-,-) *
#> 9 Microbiota Deposit Feeders (-,+) (-,+) -
#> 10 Microbiota Predators (0,0) (+,+) *
#> 11 Microbiota Deposited Detritus (+,-) (+,-) -
#> 12 Meiofauna Meiofauna (0,0) (-,-) *
#> 13 Meiofauna Deposit Feeders (-,+) (-,+) -
#> 14 Meiofauna Predators (0,0) (-,+) *
#> 15 Meiofauna Deposited Detritus (+,-) (+,-) -
#> 16 Deposit Feeders Deposit Feeders (0,0) (-,-) *
#> 17 Deposit Feeders Predators (-,+) (-,+) -
#> 18 Deposit Feeders Deposited Detritus (+,+) (+,+) -
#> 19 Predators Predators (0,0) (-,-) *
#> 20 Predators Deposited Detritus (0,+) (+,-) *
#> 21 Deposited Detritus Deposited Detritus (0,0) (-,-) *