Skip to contents

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)            (-,-)       *