lh <- function(M, RYo, RYe) {
dRY <- RYo - RYe; N <- length(M)
dY <- sum(dRY * M)
comp <- N * mean(dRY) * mean(M) # complementarity
sel <- N * mean((dRY - mean(dRY)) * (M - mean(M))) # selection (population cov)
c(dY = dY, comp = comp, sel = sel, resid = dY - comp - sel)
}Partitioning the net biodiversity effect
The previous post measured the net biodiversity effect: how much more a mixture yields than the sum of its species’ sown shares of their monocultures. A positive net effect is a fact, but it is not an explanation. The mixture might overyield because the species partition resources and each does a little better than expected, or because one productive species takes over and pulls the average up. Those are different biology, and the standard tool for separating them is the additive partition of Loreau and Hector 2001 Nature 412(6842):72-76.
The partition splits the net effect into two named pieces, a complementarity effect and a selection effect, and the split is an exact algebraic identity, not an approximation. This post derives it, codes it from scratch, and shows what each piece means.
The identity
Write the net effect as a sum over the 6 species in the mixture. For species i, let M[i] be its monoculture yield, RYe[i] its expected relative yield (its sown fraction) and RYo[i] its observed relative yield in the mixture. Let the deviation be dRY[i] = RYo[i] - RYe[i]. Then the net effect is
\[\Delta Y = \sum_i \Delta RY_i \, M_i .\]
Multiply and divide by the number of species N. The sum becomes N times the mean of the products, and the mean of a product is the product of means plus their covariance:
\[\Delta Y = N \, \overline{\Delta RY \cdot M} = N\,\overline{\Delta RY}\;\overline{M} \; + \; N\,\text{cov}(\Delta RY, M).\]
The first term is the complementarity effect, the second is the selection effect. The covariance here divides by N, not by N minus one; that is what makes the two pieces add back to the net effect exactly.
One mixture
Take six species with the monoculture yields below, sown in equal sixths, and give them relative yields that rise gently with monoculture yield, so both pieces are non-zero.
set.seed(387)
M <- round(runif(6, 80, 700))
RYe <- rep(1/6, 6)
RYo <- RYe + (0.05 + 0.00040 * (M - mean(M)))
round(lh(M, RYo, RYe), 4) dY comp sel resid
205.0005 116.5000 88.5005 0.0000
The net effect is 205.0 g/m2. Of that, 116.5 is complementarity and 88.5 is selection, and the residual is 0.0e+00: the two pieces reconstruct the net effect to machine precision. Across all four example mixtures below the largest residual is 1.4e-14, which is rounding error, not model error. The partition is arithmetic.
The complementarity effect is N times the average deviation in relative yield, scaled by the average monoculture. It answers: on average, do the species do better in the mixture than their sown share predicts? The selection effect is N times the covariance between monoculture yield and the deviation in relative yield. It answers a different question: are the deviations concentrated in the productive species? A positive selection effect means the high-monoculture species are the ones overperforming.
ggplot(scat, aes(M, dRY)) +
geom_hline(yintercept = mean(scat$dRY), colour = col_comp, linetype = "dashed") +
geom_smooth(method = "lm", se = FALSE, colour = col_sel, linewidth = 0.9) +
geom_point(size = 3, colour = col_ref) +
annotate("text", x = min(M), y = mean(scat$dRY) + 0.004,
label = "mean deviation (complementarity)", colour = col_comp, hjust = 0, size = 3.4) +
labs(x = expression(Monoculture~yield~(g/m^2)),
y = "Change in relative yield",
title = "Selection is the tilt, complementarity is the height")
The two extremes, and a warning
Because the pieces are independent, the same net effect can be built entirely from one or the other. If every species has the same deviation in relative yield, the covariance with monoculture yield is zero, so the whole net effect is complementarity. If the average deviation is zero but the productive species overperform, the whole net effect is selection.
pcomp <- lh(M, RYe + 0.08, RYe) # constant deviation
psel <- lh(M, RYe + 0.0005 * (M - mean(M)), RYe) # zero-mean, correlated with M
rbind(pure_complementarity = round(pcomp, 2), pure_selection = round(psel, 2)) dY comp sel resid
pure_complementarity 186.40 186.4 0.00 0
pure_selection 110.63 0.0 110.63 0
The pure-complementarity mixture has a net effect of 186.4, all of it complementarity and 0.0 selection. The pure-selection mixture has a net effect of 110.6, all of it selection. Read only the net effect and the two are the same result; read the partition and they are opposite ecologies.
There is a subtler case worth building, because it is where the partition earns its keep. A mixture can have a positive net effect and a negative selection effect: the productive species underperform, and the subordinate species carry the mixture.
negs <- lh(M, RYe + (0.09 - 0.00030 * (M - mean(M))), RYe)
round(negs, 2) dY comp sel resid
143.32 209.70 -66.38 0.00
Here the net effect is 143.3, but complementarity is 209.7 while selection is -66.4. The complementarity is larger than the net effect, and selection drags it back down: the small species gain, the big ones give ground. A single net number would hide all of that.
dec <- data.frame(
mix = rep(c("both effects","pure comp.","pure sel.","neg. selection"), each = 2),
part = rep(c("complementarity","selection"), 4),
val = c(both["comp"], both["sel"], pcomp["comp"], pcomp["sel"],
psel["comp"], psel["sel"], negs["comp"], negs["sel"]))
dec$mix <- factor(dec$mix, levels = c("both effects","pure comp.","pure sel.","neg. selection"))
ggplot(dec, aes(mix, val, fill = part)) +
geom_col(width = 0.7) +
geom_hline(yintercept = 0, colour = col_ref, linewidth = 0.4) +
scale_fill_manual(values = c(complementarity = col_comp, selection = col_sel)) +
labs(x = NULL, y = expression(Effect~(g/m^2)), fill = NULL,
title = "One net effect, two very different recipes")
What the partition does not settle
The partition is exact and it is worth running on every biodiversity experiment, but it names patterns, not mechanisms. A large complementarity effect is consistent with resource partitioning, with facilitation, and with a mixture escaping a shared pest; the number cannot tell you which. The selection effect is a covariance, with all the fragility that implies, and it can be dominated by one extreme species. Loreau and Hector’s own erratum (Nature 413:548) fixed a formula slip in the original, a reminder that even the arithmetic rewards care. Fox 2005 Ecology Letters 8(8):846-856 later split the selection effect further, into a dominance effect and a trait-dependent complementarity effect.
The next post takes the interpretation seriously: why the selection effect is a covariance rather than a mechanism, and what you can and cannot read off these two numbers.
References
- Cardinale BJ et al. 2007. Proceedings of the National Academy of Sciences 104(46):18123-18128 (10.1073/pnas.0709069104).
- Fox JW 2005. Ecology Letters 8(8):846-856 (10.1111/j.1461-0248.2005.00795.x).
- Loreau M 1998. Oikos 82(3):600-602 (10.2307/3546381).
- Loreau M, Hector A 2001. Nature 412(6842):72-76 (10.1038/35083573); erratum Nature 413:548 (10.1038/35097128).