SuppMat 2: Effects of Network Reconstruction on Food-Web Structure
Author
Tanya Strydom
Published
February 9, 2026
Abstract
Expanded results section.
Effect of Body Size Sampling Method on Network Metrics
To assess whether the choice of body size sampling distribution (uniform, lognormal, or truncated lognormal) influences the estimated structure of ecological networks, we computed partial eta-squared (η²) values for each network metric within each reconstruction model. This approach isolates the effect of body size distribution while controlling for model-specific variation.
Across all models and network metrics, the effect of body size sampling method was extremely small. Most η² values were effectively zero (<0.01), indicating that the choice of distribution had negligible influence on metrics such as connectance, generality, vulnerability, and various motif counts. Only a few metrics in the ATN model showed slightly higher effects (η² ≈ 0.17 for number of linear chains), but these remained the exception rather than the rule.
These findings justify using any of the tested body size sampling approaches for our simulations, as the structural conclusions drawn from the networks are robust to this methodological choice. Consequently, analyses of network metrics and comparisons across reconstruction models are not confounded by the specific form of the synthetic body size distribution.
Multivariate analysis of network structure
We quantified food-web structure using a suite of macro-, meso-, and micro-scale network metrics capturing global topology, motif composition, and species-level interaction patterns (Table S1). Differences among reconstruction approaches were assessed using a multivariate analysis of variance (MANOVA), with model identity as a fixed factor and the full set of network metrics as response variables. Pillai’s trace was used to assess overall multivariate significance due to its robustness to violations of multivariate normality.
To identify the multivariate axes driving differences among models, we performed canonical discriminant analysis (CDA) on the MANOVA model. Canonical variates represent orthogonal linear combinations of network metrics that maximize separation among reconstruction approaches. The contribution of individual metrics to each canonical variate was quantified using canonical structure coefficients (correlations between original metrics and canonical scores).
For visualization, canonical scores were plotted using linear discriminant analysis (LDA), which yields an equivalent discriminant subspace under equal group priors. Model separation in canonical space was visualized using convex hulls encompassing all network replicates for each reconstruction approach. Univariate analyses of variance and effect sizes (partial η²) were calculated for individual metrics and are reported in the Supplementary Materials for descriptive comparison. Pairwise interaction turnover was quantified using link-based beta diversity, which measures dissimilarity in the identity of trophic interactions between networks and captures differences arising from species turnover or changes in interactions among shared species.
Figure S1. Effect of Body Size Sampling Method on Network Metrics
Metrics where η² was notably higher are labelled directly on the bars. The figure highlights that, for the majority of network properties and models, η² values are extremely low (<0.01), confirming that the body size distribution choice has negligible impact on network structure. A few exceptions appear for the ATN model, but these are limited to specific metrics (e.g., number of linear chains).
Effects of Network Reconstruction on Food-Web Structure
Table S1. Descriptive statistics of network metrics by model
In [1]:
library(knitr)library(tidyverse)
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr 1.2.0 ✔ readr 2.1.6
✔ forcats 1.0.1 ✔ stringr 1.6.0
✔ ggplot2 4.0.2 ✔ tibble 3.3.1
✔ lubridate 1.9.5 ✔ tidyr 1.3.2
✔ purrr 1.2.1
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag() masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
Rows: 6 Columns: 17
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr (1): model
dbl (16): connectance_mean, connectance_sd, trophic_level_mean, trophic_leve...
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
Rows: 8 Columns: 4
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr (1): Metric
dbl (3): Can1, Can2, Can3
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
Metric
Can1
Can2
Can3
connectance
-0.75
0.36
-0.45
trophic_level
-0.31
-0.75
-0.25
generality
0.73
0.58
0.32
vulnerability
-0.86
-0.20
0.38
S1
0.38
-0.60
-0.48
S2
-0.35
0.62
-0.53
S4
-0.81
0.14
-0.11
S5
-0.12
0.74
-0.52
Figure S1. Canonical Loadings
Canonical loadings for the first two canonical variates (CV1, CV2) from the canonical discriminant analysis of network metrics. Arrows indicate the contribution of each metric to the multivariate separation among reconstruction models. Colours denote the scale of each metric: Macro (green), Meso (orange), Micro (purple). Metric labels are shown for the most influential variables.
Model choice influences inferred extinction dynamics
Figure S2. Raw temporal trajectories of network structure during extinction simulations.
Panels show mean values of network-level metrics through time for each reconstruction model, grouped by macro-, meso-, and micro-scale properties as in Figure 3. Lines represent raw simulation outputs averaged across replicates. This figure provides the underlying data corresponding to the GAM-predicted trajectories shown in Figure 3.
Table S3. Full generalized additive model (GAM) results for network-level metrics.
Parametric coefficients, model-specific smooth terms, and ANOVA comparisons of shared versus model-specific time effects are shown for each network metric. Estimate/EDF and Std. Error / Ref.df correspond to parametric coefficients or effective degrees of freedom and reference degrees of freedom for smooth terms. t/F value and p-value report statistical significance. Parametric terms represent the baseline effect of each model; smooth terms describe non-linear temporal trajectories of each reconstruction model. ANOVA rows compare the fit of shared versus model-specific smooths. No inference or interpretation is implied in this table; the main text and Figure 3 provide inferential conclusions.
Rows: 104 Columns: 7
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr (4): Term, Network metric, Term type, p-value
dbl (3): Estimate / EDF, Std. Error / Ref.df, t / F value
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
Term
Network metric
Term type
Estimate / EDF
Std. Error / Ref.df
t / F value
p-value
(Intercept)
connectance
parametric
0.298
0.001
241.811
<0.001
Model: Body-size ratio
connectance
parametric
-0.126
0.002
-72.283
<0.001
Model: ATN
connectance
parametric
-0.073
0.002
-41.891
<0.001
Model: Niche
connectance
parametric
-0.180
0.002
-103.197
<0.001
Model: PFIM
connectance
parametric
-0.179
0.002
-102.983
<0.001
Model: Random
connectance
parametric
-0.077
0.002
-43.973
<0.001
Smooth: time by ADBM
connectance
smooth
2.921
2.995
22.563
<0.001
Smooth: time by Body-size ratio
connectance
smooth
2.927
2.996
13.810
<0.001
Smooth: time by ATN
connectance
smooth
2.958
2.999
27.042
<0.001
Smooth: time by Niche
connectance
smooth
2.249
2.618
2.719
0.112
Smooth: time by PFIM
connectance
smooth
2.987
3.000
113.849
<0.001
Smooth: time by Random
connectance
smooth
2.604
2.882
4.720
0.016
ANOVA: shared vs model-specific smooths
connectance
anova
NA
NA
32.045
<0.001
(Intercept)
trophic_level
parametric
3.583
0.032
110.465
<0.001
Model: Body-size ratio
trophic_level
parametric
2.666
0.046
58.124
<0.001
Model: ATN
trophic_level
parametric
-0.388
0.046
-8.450
<0.001
Model: Niche
trophic_level
parametric
0.448
0.046
9.771
<0.001
Model: PFIM
trophic_level
parametric
-1.105
0.046
-24.099
<0.001
Model: Random
trophic_level
parametric
2.312
0.046
50.402
<0.001
Smooth: time by ADBM
trophic_level
smooth
2.740
2.948
15.265
<0.001
Smooth: time by Body-size ratio
trophic_level
smooth
2.918
2.995
72.135
<0.001
Smooth: time by ATN
trophic_level
smooth
2.642
2.903
11.011
<0.001
Smooth: time by Niche
trophic_level
smooth
2.925
2.996
46.779
<0.001
Smooth: time by PFIM
trophic_level
smooth
1.496
1.811
6.427
0.007
Smooth: time by Random
trophic_level
smooth
2.994
3.000
607.810
<0.001
ANOVA: shared vs model-specific smooths
trophic_level
anova
NA
NA
78.029
<0.001
(Intercept)
generality
parametric
0.902
0.004
200.915
<0.001
Model: Body-size ratio
generality
parametric
-0.265
0.006
-41.698
<0.001
Model: ATN
generality
parametric
0.129
0.006
20.329
<0.001
Model: Niche
generality
parametric
0.223
0.006
35.079
<0.001
Model: PFIM
generality
parametric
0.821
0.006
129.304
<0.001
Model: Random
generality
parametric
-0.575
0.006
-90.653
<0.001
Smooth: time by ADBM
generality
smooth
2.949
2.998
101.687
<0.001
Smooth: time by Body-size ratio
generality
smooth
2.847
2.981
25.350
<0.001
Smooth: time by ATN
generality
smooth
2.979
3.000
230.268
<0.001
Smooth: time by Niche
generality
smooth
1.001
1.001
0.391
0.532
Smooth: time by PFIM
generality
smooth
2.996
3.000
366.841
<0.001
Smooth: time by Random
generality
smooth
2.933
2.996
48.486
<0.001
ANOVA: shared vs model-specific smooths
generality
anova
NA
NA
122.123
<0.001
(Intercept)
vulnerability
parametric
0.889
0.006
141.193
<0.001
Model: Body-size ratio
vulnerability
parametric
-0.200
0.009
-22.403
<0.001
Model: ATN
vulnerability
parametric
0.178
0.009
19.974
<0.001
Model: Niche
vulnerability
parametric
-0.241
0.009
-27.068
<0.001
Model: PFIM
vulnerability
parametric
-0.257
0.009
-28.815
<0.001
Model: Random
vulnerability
parametric
0.815
0.009
91.514
<0.001
Smooth: time by ADBM
vulnerability
smooth
2.595
2.877
10.151
<0.001
Smooth: time by Body-size ratio
vulnerability
smooth
2.909
2.993
49.940
<0.001
Smooth: time by ATN
vulnerability
smooth
2.912
2.994
45.848
<0.001
Smooth: time by Niche
vulnerability
smooth
2.824
2.976
20.777
<0.001
Smooth: time by PFIM
vulnerability
smooth
2.944
2.997
40.497
<0.001
Smooth: time by Random
vulnerability
smooth
1.412
1.697
0.222
0.695
ANOVA: shared vs model-specific smooths
vulnerability
anova
NA
NA
33.392
<0.001
(Intercept)
S1
parametric
0.000
0.003
0.000
1
Model: Body-size ratio
S1
parametric
0.749
0.004
194.021
<0.001
Model: ATN
S1
parametric
0.029
0.004
7.543
<0.001
Model: Niche
S1
parametric
0.192
0.004
49.847
<0.001
Model: PFIM
S1
parametric
0.104
0.004
27.068
<0.001
Model: Random
S1
parametric
0.011
0.004
2.787
0.005
Smooth: time by ADBM
S1
smooth
1.000
1.000
0.000
1
Smooth: time by Body-size ratio
S1
smooth
2.999
3.000
3454.642
<0.001
Smooth: time by ATN
S1
smooth
2.473
2.798
5.453
0.001
Smooth: time by Niche
S1
smooth
2.980
3.000
197.148
<0.001
Smooth: time by PFIM
S1
smooth
2.952
2.998
41.261
<0.001
Smooth: time by Random
S1
smooth
1.000
1.000
0.011
0.916
ANOVA: shared vs model-specific smooths
S1
anova
NA
NA
772.574
<0.001
(Intercept)
S2
parametric
1.189
0.004
282.637
<0.001
Model: Body-size ratio
S2
parametric
-1.048
0.006
-176.145
<0.001
Model: ATN
S2
parametric
-0.733
0.006
-123.268
<0.001
Model: Niche
S2
parametric
-1.080
0.006
-181.560
<0.001
Model: PFIM
S2
parametric
-1.050
0.006
-176.486
<0.001
Model: Random
S2
parametric
-1.008
0.006
-169.460
<0.001
Smooth: time by ADBM
S2
smooth
2.998
3.000
3739.389
<0.001
Smooth: time by Body-size ratio
S2
smooth
2.941
2.997
49.584
<0.001
Smooth: time by ATN
S2
smooth
2.990
3.000
607.421
<0.001
Smooth: time by Niche
S2
smooth
2.860
2.984
22.303
<0.001
Smooth: time by PFIM
S2
smooth
2.757
2.954
13.956
<0.001
Smooth: time by Random
S2
smooth
2.915
2.994
35.738
<0.001
ANOVA: shared vs model-specific smooths
S2
anova
NA
NA
553.156
<0.001
(Intercept)
S4
parametric
1.454
0.005
271.314
<0.001
Model: Body-size ratio
S4
parametric
-0.925
0.008
-122.084
<0.001
Model: ATN
S4
parametric
-0.113
0.008
-14.860
<0.001
Model: Niche
S4
parametric
-1.310
0.008
-172.920
<0.001
Model: PFIM
S4
parametric
-1.389
0.008
-183.346
<0.001
Model: Random
S4
parametric
0.170
0.008
22.391
<0.001
Smooth: time by ADBM
S4
smooth
2.999
3.000
4569.752
<0.001
Smooth: time by Body-size ratio
S4
smooth
2.994
3.000
444.599
<0.001
Smooth: time by ATN
S4
smooth
2.999
3.000
4034.456
<0.001
Smooth: time by Niche
S4
smooth
2.854
2.983
24.949
<0.001
Smooth: time by PFIM
S4
smooth
2.786
2.964
23.029
<0.001
Smooth: time by Random
S4
smooth
2.999
3.000
4479.574
<0.001
ANOVA: shared vs model-specific smooths
S4
anova
NA
NA
990.095
<0.001
(Intercept)
S5
parametric
1.389
0.005
283.303
<0.001
Model: Body-size ratio
S5
parametric
-0.887
0.007
-127.994
<0.001
Model: ATN
S5
parametric
-0.220
0.007
-31.752
<0.001
Model: Niche
S5
parametric
-1.066
0.007
-153.709
<0.001
Model: PFIM
S5
parametric
-0.866
0.007
-124.911
<0.001
Model: Random
S5
parametric
-1.359
0.007
-196.042
<0.001
Smooth: time by ADBM
S5
smooth
2.998
3.000
1900.335
<0.001
Smooth: time by Body-size ratio
S5
smooth
2.995
3.000
593.637
<0.001
Smooth: time by ATN
S5
smooth
2.996
3.000
940.100
<0.001
Smooth: time by Niche
S5
smooth
2.976
3.000
167.436
<0.001
Smooth: time by PFIM
S5
smooth
2.980
3.000
286.415
<0.001
Smooth: time by Random
S5
smooth
1.000
1.000
0.028
0.867
ANOVA: shared vs model-specific smooths
S5
anova
NA
NA
279.442
<0.001
Table S4. ANOVA comparisons of shared versus model-specific GAM smooths for all network-level metrics.
Each row shows the result of comparing a generalized additive model (GAM) with a shared smooth term for time across reconstruction models versus a model-specific smooth term for each reconstruction model. Columns include the F value and p-value of the ANOVA test. Very small p-values are reported as <0.001. These tests indicate whether allowing model-specific temporal trajectories significantly improves model fit; no inferential claims about the direction or magnitude of changes are made in this table.
Rows: 8 Columns: 4
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr (3): Term, Network metric, p-value
dbl (1): F value
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.