The results of this function are shown in figure 9 and table 4. The graph shows the observed degree distribution in a log log scale fitting the three models mentioned above, for this example we use an example dataset of Chilean litoral rocky shores (Kéfi et al. 2015). The table shows the fitted model information ordered by descending AIC, that is, the model in the first row is the most probable distribution, followed by the second an finally the third distribution in this case (Table 3), the Exponential distribution would be the best model, followed by the Power law and finally the Truncated power law model.
+
Rewiring Potential
+
+
Ecological networks aren’t static and we should assume that species may shift their connections in response to extinctions of an association/interaction partner. Rewiring processes can be simulated with NetworkExtinction using the Rewiring
, RewiringDist
, and RewiringProb
arguments.
+
Let’s start with RewiringDist
. This should be a matrix that contains information about similarities or rewiring potential of species indexed by columns to those indexed by rows. The package comes with an example data set for this:
+
+data(dist)
+dist
+#> 1 2 3 4 5 6 7
+#> 1 0.00000000 0.4593111 0.10593644 0.30189790 0.4705959 0.1783138 0.4530299
+#> 2 0.45931109 0.0000000 0.56524753 0.76120899 0.8902942 0.5980121 0.8727282
+#> 3 0.10593644 0.5652475 0.00000000 0.19596146 0.5765323 0.2842503 0.5589664
+#> 4 0.30189790 0.7612090 0.19596146 0.00000000 0.7724938 0.4802117 0.7549278
+#> 5 0.47059588 0.8902942 0.57653232 0.77249378 0.0000000 0.2922820 0.5669981
+#> 6 0.17831383 0.5980121 0.28425027 0.48021173 0.2922820 0.0000000 0.2747161
+#> 7 0.45302992 0.8727282 0.55896636 0.75492782 0.5669981 0.2747161 0.0000000
+#> 8 0.20346538 0.6627765 0.09752893 0.09843253 0.6740613 0.3817792 0.6564953
+#> 9 0.01647744 0.4428337 0.12241388 0.31837534 0.4870733 0.1947913 0.4695074
+#> 10 0.54697008 0.4174089 0.44103364 0.63699510 0.5059987 0.7252839 1.0000000
+#> 8 9 10
+#> 1 0.20346538 0.01647744 0.5469701
+#> 2 0.66277647 0.44283365 0.4174089
+#> 3 0.09752893 0.12241388 0.4410336
+#> 4 0.09843253 0.31837534 0.6369951
+#> 5 0.67406125 0.48707331 0.5059987
+#> 6 0.38177920 0.19479127 0.7252839
+#> 7 0.65649529 0.46950735 1.0000000
+#> 8 0.00000000 0.21994281 0.5385626
+#> 9 0.21994281 0.00000000 0.5634475
+#> 10 0.53856257 0.56344752 0.0000000
+
This is a random distance matrix. For the sake of this example, we assume that these values represent probabilities of rewiring. We have to tweak it a bit to make it useful for our toy example of a trophic network, we do so by setting some of the values to 0:
+
+dist[,1:4] <- 0 # producers don't worry about rewiring
+dist[5:10,5:8] <- 0 # intermediate consumders can only rewire to producers
+dist[c(1:4, 9:10), 9:10] <- 0 # apex predators can only rewire to intermediate consumers
+dist
+#> 1 2 3 4 5 6 7 8 9 10
+#> 1 0 0 0 0 0.4705959 0.1783138 0.4530299 0.20346538 0.0000000 0.0000000
+#> 2 0 0 0 0 0.8902942 0.5980121 0.8727282 0.66277647 0.0000000 0.0000000
+#> 3 0 0 0 0 0.5765323 0.2842503 0.5589664 0.09752893 0.0000000 0.0000000
+#> 4 0 0 0 0 0.7724938 0.4802117 0.7549278 0.09843253 0.0000000 0.0000000
+#> 5 0 0 0 0 0.0000000 0.0000000 0.0000000 0.00000000 0.4870733 0.5059987
+#> 6 0 0 0 0 0.0000000 0.0000000 0.0000000 0.00000000 0.1947913 0.7252839
+#> 7 0 0 0 0 0.0000000 0.0000000 0.0000000 0.00000000 0.4695074 1.0000000
+#> 8 0 0 0 0 0.0000000 0.0000000 0.0000000 0.00000000 0.2199428 0.5385626
+#> 9 0 0 0 0 0.0000000 0.0000000 0.0000000 0.00000000 0.0000000 0.0000000
+#> 10 0 0 0 0 0.0000000 0.0000000 0.0000000 0.00000000 0.0000000 0.0000000
+
This matrix makes a lot more sense for our purposes. To clarify once more how to read this data: species 8 (column) has a .663 chance of rewiring to species 2 (row).
+
Next, Rewiring
is a function argument that, just like the IS
argument can be set globally or individually for each node. It is used to calculate probabilities of rewiring from the data in RewiringDist
. Since we assume RewiringDist
to already contain probabilities in this example, we simply set RewiringDist
to return the data without changing it:
+
+RewiringDist <- function(x){x}
+
Lastly, RewiringProb
is called upon to determine whether rewiring can happen among all potential rewiring partners. If no potential rewiring partner comes with a probability higher than this threshold, no rewiring happens. If multiple potential partners meet this threshold, rewiring happens only to the potential partner with the highest probability. Let’s keep the default of 50% here.
+
Finally, let’s out this all together with the IS
example from above. Can we reduce the number of secondary extinctions when allowing for rewiring?
+
+Rewiring <- SimulateExtinctions(Network = net, Order = 1:2, Method = "Ordered", IS = 0.7,
+ Rewiring = function(x){x}, RewiringDist = dist, RewiringProb = 0.5)[[1]]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-83.14753 |
--160.29506 |
--153.63654 |
-Exp |
-No |
-Exponential |
-
-
-13.38647 |
--20.77293 |
--14.20397 |
-Power |
-No |
-PowerLaw |
-
-
--27.48222 |
-60.96444 |
-67.53341 |
-LogExp |
-No |
-Exponential |
+1 |
+9 |
+9 |
+0.1111111 |
+1.0000000 |
+0.2901235 |
+1 |
+1 |
+0 |
+1 |
+1 |
+2 |
--80.84172 |
-167.68343 |
-174.25240 |
-LogPower |
-No |
-PowerLaw |
+2 |
+7 |
+6 |
+0.1224490 |
+0.8571429 |
+0.0000000 |
+2 |
+1 |
+0 |
+3 |
+2 |
+5 |
-
Table 4: Model selection analysis
-
The main objective of fitting the cumulative distribution of the degrees to those models, is to determine if the vulnerability of the network to the removal of the most connected species is related to their degree distribution. Networks that follow a power law distribution are very vulnerable to the removal of the most connected nodes, while networks that follow exponential degree distribution are less vulnerable to the removal of the most connected nodes (Albert and Barabási 2002; Dunne, Williams, and Martinez 2002; Estrada 2007; Santana et al. 2013).
-
Indeed, this made it so we have one less secondary extinction at the second primary extinction!