Commit 41e9c9a0 authored by Kunstler Georges's avatar Kunstler Georges
Browse files

process intra all

parent 63b3a6db
......@@ -637,7 +637,7 @@ pred.res.ae$pred <- -pred.res.ae$pred
pred.res.ae$lwr <- -pred.res.ae$lwr
pred.res.ae$upr <- -pred.res.ae$upr
if(!intra.TF){
if(!intra.TF){
pred.res.a0 <- easyPredCI.param(list.res, type = 'alpha0', new.data, alpha, alpha_0)
pred.res.a0$Tf <- seq(from = list.var[[1]][['ql.o']],
to = list.var[[1]][['qh.o']],
......@@ -650,7 +650,7 @@ pred.res.a0$upr <- -pred.res.a0$upr
return(rbind(pred.res.max, pred.res.ar, pred.res.ae, pred.res.al, pred.res.a0))
}
#intra
if(intra.TF){
if(intra.TF){
pred.res.a0.intra <- easyPredCI.param(list.res, type = 'alpha0', new.data, alpha, alpha_0 = 'sumBn.intra')
pred.res.a0.intra$Tf <- seq(from = list.var[[1]][['ql.o']],
to = list.var[[1]][['qh.o']],
......@@ -694,9 +694,9 @@ pred.res.rho$Tf <- seq(from = list.var[[1]][['ql.o']],
to = list.var[[1]][['qh.o']],
length.out = 100) - list.var[[1]][['ql.o']]
pred.res.rho$param.type <- 'rho'
pred.res.rho$pred <- 1- exp(pred.res.rho$pred)
pred.res.rho$lwr <- 1 - exp(pred.res.rho$lwr)
pred.res.rho$upr <- 1 - exp(pred.res.rho$upr)
pred.res.rho$pred <- 1- exp(-pred.res.rho$pred)
pred.res.rho$lwr <- 1 - exp(-pred.res.rho$lwr)
pred.res.rho$upr <- 1 - exp(-pred.res.rho$upr)
new.data.GiGj <- fun.generate.pred.param.kikj.dat( list.sd = list.res$list.sd,
Tf.low = list.var[[1]][['ql']],
......@@ -728,9 +728,9 @@ pred.res.rho$Tf <- seq(from = list.var[[1]][['ql.o']],
to = list.var[[1]][['qh.o']],
length.out = 100) - list.var[[1]][['ql.o']]
pred.res.rho$param.type <- 'rho'
pred.res.rho$pred <- 1 - exp(pred.res.rho$pred)
pred.res.rho$lwr <- 1 - exp(pred.res.rho$lwr)
pred.res.rho$upr <- 1 - exp(pred.res.rho$upr)
pred.res.rho$pred <- 1 - exp(-pred.res.rho$pred)
pred.res.rho$lwr <- 1 - exp(-pred.res.rho$lwr)
pred.res.rho$upr <- 1 - exp(-pred.res.rho$upr)
new.data.GiGj <- fun.generate.pred.param.kikj.dat( list.sd = list.res$list.sd,
......@@ -1035,48 +1035,48 @@ for (i in traits[traits.print]){
extract.param <- function(trait, list.res,
model = 'lmer.LOGLIN.ER.AD.Tf.r.biomes.species',
param.vec = c("logD", "Tf","sumBn", "sumTnBn",
"sumTfBn", "sumTnTfBn.abs")){
list.temp <- list.res[[paste("simple_", trait ,
"_", model,
sep = '')]]$lmer.summary
param.mean <- list.temp$fixed.coeff.E[param.vec]
"sumTfBn", "sumTnTfBn.abs"),
data.type = 'simple'){
list.temp <- list.res[[paste0(data.type, "_", trait ,
"_", model)]]$lmer.summary
param.mean <- list.temp$fixed.coeff.E[param.vec]
return(param.mean)
}
extract.param.sd <- function(trait, list.res,
model = 'lmer.LOGLIN.ER.AD.Tf.r.biomes.species',
param.vec = c("logD", "Tf","sumBn", "sumTnBn",
"sumTfBn", "sumTnTfBn.abs")){
list.temp <- list.res[[paste("simple_", trait ,
"_", model,
sep = '')]]$lmer.summary
param.mean <- list.temp$fixed.coeff.Std.Error
names(param.mean) <- names(list.temp$fixed.coeff.E)
return(param.mean[param.vec])
"sumTfBn", "sumTnTfBn.abs"),
data.type = 'simple'){
list.temp <- list.res[[paste0(data.type, "_", trait ,
"_", model)]]$lmer.summary
param.sd <- list.temp$fixed.coeff.Std.Error
names(param.sd) <- names(list.temp$fixed.coeff.E)
return(param.sd[param.vec])
}
extract.R2c <- function(trait, list.res,
model = 'lmer.LOGLIN.ER.AD.Tf.r.biomes.species'){
list.temp <- list.res[[paste("simple_", trait ,
"_", model,
sep = '')]]$lmer.summary
model = 'lmer.LOGLIN.ER.AD.Tf.r.biomes.species',
data.type = 'simple'){
list.temp <- list.res[[paste0(data.type,"_", trait ,
"_", model)]]$lmer.summary
return(list.temp$R2c)
}
extract.R2m <- function(trait, list.res,
model = 'lmer.LOGLIN.ER.AD.Tf.r.biomes.species'){
list.temp <- list.res[[paste("simple_", trait ,
"_", model,
sep = '')]]$lmer.summary
model = 'lmer.LOGLIN.ER.AD.Tf.r.biomes.species',
data.type = 'simple'){
list.temp <- list.res[[paste0(data.type,"_", trait ,
"_", model)]]$lmer.summary
return(list.temp$R2m)
}
extract.AIC <- function(trait, list.res,
model = 'lmer.LOGLIN.ER.AD.Tf.r.biomes.species'){
list.temp <- list.res[[paste("simple_", trait ,
"_", model,
sep = '')]]$lmer.summary
model = 'lmer.LOGLIN.ER.AD.Tf.r.biomes.species',
data.type = 'simple'){
list.temp <- list.res[[paste0(data.type,"_", trait ,
"_", model)]]$lmer.summary
return(list.temp$AIC)
}
......@@ -1546,7 +1546,7 @@ first.p <- 'alpha0'
if(intra.TF){
expr.p.vec <- c(expression(paste('Trait indep ', alpha['0 intra/inter'])),
expression(paste('Trait indep ', alpha['0 intra/inter'])),
expression(paste('Trait indep ', alpha['0 intra/inter'])),
expression(paste('Similarity ', alpha[l] %*% abs(t[f] - t[c]))),
expression(paste('Competitive effect ', alpha[e] %*% t[c])),
expression(paste('Tolerance of competition ', alpha[t] %*% t[f])),
......@@ -1584,7 +1584,7 @@ if(p == 'maxG'){
col.vec = col.vec,
expr.param = expr.p.vec[p], cex.lab = 1.1, cex.axis =0.85, cex = 1,
ylim = ylim.list[[p]])
}
}
}
}
......@@ -1613,7 +1613,7 @@ if(p == 'maxG'){
expr.param = expr.p.vec[p], add.ylab.TF = FALSE,
cex.lab = 1.1, cex.axis =0.85, cex = 1,
ylim = ylim.list[[p]])
}
}
}
}
......@@ -1677,7 +1677,7 @@ first.p <- 'maxG'
if(intra.TF){
expr.p.vec <- c(expression(paste('Trait indep ', alpha['0 intra/inter'])),
expression(paste('Trait indep ', alpha['0 intra/inter'])),
expression(paste('Trait indep ', alpha['0 intra/inter'])),
expression(paste('Similarity ', alpha[l] %*% abs(t[f] - t[c]))),
expression(paste('Competitive effect ', alpha[e] %*% t[c])),
expression(paste('Tolerance of competition ', alpha[t] %*% t[f])),
......@@ -1773,10 +1773,10 @@ polygon(c(df.t[, 'Tf'],
c(df.t[, 'upr'],
rev(df.t[, 'lwr'])),
col = add.alpha(col.vec[names.param[p]], 0.5), border = NA)
}
}
if(add.ylab.TF){
if(p != 'alpha0.intra'){
if(p != 'alpha0.intra'){
mtext(expr.param,
side=2, cex =cex,
line = 2.5, col = col.vec[names.param[p]])
......@@ -1922,7 +1922,7 @@ layout(m, heights=hei, widths= wid )
names(expr.p.vec) <- c('rho', 'kikj', 'GiGj')
names.param <- c("rho","kikj", 'GiGj')
names(names.param) <- c('rho', 'kikj', 'GiGj')
col.vec <- c('green', 'red', 'blue')
col.vec <- c('#018571', '#a6611a', '#dfc27d')
names(col.vec) <- c("rho","kikj", 'GiGj')
for (t in c('Wood density', 'Specific leaf area', 'Maximum height')){
for (p in c('rho', 'kikj', 'GiGj')){
......@@ -1970,7 +1970,7 @@ if(t == 'Maximum height'){
if(t == 'Wood density'){
if(p == 'GiGj'){
fun.plot.param.tf(df = df.t,
p = p,
p = p,names.param = names.param,
ylim = range(filter(df.t,
param.type == 'GiGj')%>% select(upr,lwr)),
xlab = expression(paste(Delta, ' Wood density (mg m', m^-3, ')')),
......@@ -1978,7 +1978,7 @@ if(p == 'GiGj'){
expr.param = expr.p.vec[p], cex.lab = 1.1, cex.axis =0.85, cex = 1)
}else{
fun.plot.param.tf(df = df.t,
p = p,
p = p, names.param = names.param,
ylim = range(filter(df.t,
param.type == p)%>% select(upr,lwr)),
xaxt= 'n',xlab = NA,
......@@ -2010,7 +2010,7 @@ if(p == 'GiGj'){
if(t == 'Maximum height'){
if(p == 'GiGj'){
fun.plot.param.tf(df = df.t,
param.sel = p,names.param = names.param,
p = p,names.param = names.param,
xlab = expression(paste(Delta, ' Maximum height (m)')),
ylim = range(filter(df.t,
param.type == 'GiGj')%>% select(upr,lwr)),
......@@ -2018,7 +2018,7 @@ if(p == 'GiGj'){
expr.param = expr.p.vec[p], add.ylab.TF = FALSE, cex.lab = 1.1, cex.axis =0.85, cex = 1)
}else{
fun.plot.param.tf(df = df.t,
param.sel = p,names.param = names.param,
p = p,names.param = names.param,
xlab = NA,
xaxt= 'n',
ylim = range(filter(df.t,
......@@ -2068,7 +2068,7 @@ layout(m, heights=hei, widths= wid )
names(expr.p.vec) <- c('rho', 'kikj', 'GiGj')
names.param <- c("rho","kikj", 'GiGj')
names(names.param) <- c('rho', 'kikj', 'GiGj')
col.vec <- c('green', 'red', 'blue')
col.vec <- c('#018571', '#a6611a', '#dfc27d')
names(col.vec) <- c("rho","kikj", 'GiGj')
for (t in c('Wood density', 'Specific leaf area', 'Maximum height')){
for (p in c('rho')){
......
This diff is collapsed.
This diff is collapsed.
......@@ -97,42 +97,60 @@ pandoc.table(cor.mat,
## # Model results
## ![Variation of the four parameters linking the three studied traits with maximum growth and competition - maximum growth ($t_f \, m_1$), tolerance to competition ($t_f \, \alpha_t$), competitive effect ($t_c \, \alpha_e$) and limiting similarity ($|t_f - t_c| \, \alpha_l$ ($t_c$ was fixed at the lowest value and $t_f$ varying from quantile 5 to 95\%). The shaded area represents the 95% confidence interval of the prediction (including uncertainty associated with $\alpha_0$ or $m_0$).](../../figs/figres4b.pdf)
## ![Variation of the four parameters linking wood density, specific leaf area and maximum height with maximum growth and competition - maximum growth ($t_f \, m_1$), tolerance to competition ($t_f \, \alpha_t$), competitive effect ($t_c \, \alpha_e$) and limiting similarity ($|t_f - t_c| \, \alpha_l$ ($t_c$ was fixed at the lowest value and $t_f$ varying from quantile 5 to 95\%). The shaded area represents the 95% confidence interval of the prediction (including uncertainty associated with $\alpha_0$ or $m_0$).](../../figs/figres4b.pdf)
## ![**TODO**. BLABLA.](../../figs/rho_set_TP_intra.pdf)
## ![**Stabilising effect of competition between pairs of species in function of their traits distance, predicted according to the basal area growth models fitted for wood density, specific leaf area and maximum height.** $1 -\rho$ measure the relative strengh of intra-specific competition compared to inter-specific competition (where $\rho$ is defined as $\sqrt{\frac{\alpha{ij} \alpha{ji}}{\alpha{jj} \alpha{ii}}}$), where $\rho$ is a measure of niche overlap between a pair of species. If inter-specific competition is equal or greater than inter-specific competition $1- \rho \leqslant 0$, and there is no stabilising processes. If inter-specific competition is smaller than inter-specific competition $1- \rho > 0$, and this indicates the occurence of stabilising processes resulting in stronger intra- than inter-specific competition. As the niche overlap $\rho$ is estimated only with competition effect on individual tree basal area growth, this can not be taken as a direct indication of coexistence as with population growth model.](../../figs/rho_set_TP_intra.pdf)
##+ ComputeTable_Effectsize, echo = FALSE, results = 'hide', message=FALSE
list.all.results <-
list.all.results.0 <-
readRDS.root('output/list.lmer.out.all.NA.simple.set.rds')
list.all.results.intra <-
readRDS('output/list.lmer.out.all.NA.intra.set.rds')
#TODO UPDATE FOR INTRA
mat.param <- do.call('cbind', lapply(c('Wood.density', 'SLA', 'Max.height'),
extract.param, list.res = list.all.results,
model = 'lmer.LOGLIN.ER.AD.Tf.MAT.MAP.r.set.species',
param.vec = c("(Intercept)", "logD", "Tf","sumBn",
"sumTnBn","sumTfBn", "sumTnTfBn.abs")))
mat.param.sd <- do.call('cbind', lapply(c('Wood.density', 'SLA', 'Max.height'),
extract.param.sd, list.res = list.all.results,
model = 'lmer.LOGLIN.ER.AD.Tf.MAP.MAT.r.set.species',
param.vec = c("(Intercept)", "logD", "Tf","sumBn",
"sumTnBn","sumTfBn", "sumTnTfBn.abs")))
mat.R2c <- do.call('cbind', lapply(c('Wood.density', 'SLA', 'Max.height'),
extract.R2c, list.res = list.all.results,
model = 'lmer.LOGLIN.ER.AD.Tf.r.set.species'))
mat.R2m <- do.call('cbind', lapply(c('Wood.density', 'SLA', 'Max.height'),
extract.R2m, list.res = list.all.results,
model = 'lmer.LOGLIN.ER.AD.Tf.MAT.MAP.r.set.species'))
mat.AIC <- do.call('cbind', lapply(c('Wood.density', 'SLA', 'Max.height'),
extract.AIC, list.res = list.all.results,
model = 'lmer.LOGLIN.ER.AD.Tf.MAT.MAP.r.set.species'))
mat.AIC.0 <- do.call('cbind', lapply(c('Wood.density', 'SLA', 'Max.height'),
extract.AIC, list.res = list.all.results,
model = 'lmer.LOGLIN.r.set.species'))
list.all.results <-
readRDS.root('output/list.lmer.out.all.NA.intra.set.rds')
#TODO UPDATE NULL MODEL FOR INTRA
mat.param <- do.call('cbind',
lapply(c('Wood.density', 'SLA', 'Max.height'),
extract.param, list.res = list.all.results,
model = 'lmer.LOGLIN.ER.AD.Tf.MAT.MAP.intra.r.set.species',
param.vec = c("(Intercept)", "logD", "Tf",
"sumBn.intra","sumBn.inter",
"sumTnBn","sumTfBn", "sumTnTfBn.abs"),
data.type = 'intra'))
mat.param[!row.names(mat.param) %in% c("(Intercept)", "logD", "Tf", "sumTfBn"),] <-
-mat.param[!row.names(mat.param) %in% c("(Intercept)", "logD", "Tf", "sumTfBn"),]
mat.param.sd <- do.call('cbind',
lapply(c('Wood.density', 'SLA', 'Max.height'),
extract.param.sd, list.res = list.all.results,
model = 'lmer.LOGLIN.ER.AD.Tf.MAT.MAP.intra.r.set.species',
param.vec = c("(Intercept)", "logD", "Tf",
"sumBn.intra","sumBn.inter",
"sumTnBn","sumTfBn", "sumTnTfBn.abs"),
data.type = 'intra'))
mat.R2c <- do.call('cbind',
lapply(c('Wood.density', 'SLA', 'Max.height'),
extract.R2c, list.res = list.all.results,
model = 'lmer.LOGLIN.ER.AD.Tf.MAT.MAP.intra.r.set.species',
data.type = 'intra'))
mat.R2m <- do.call('cbind',
lapply(c('Wood.density', 'SLA', 'Max.height'),
extract.R2m, list.res = list.all.results,
model = 'lmer.LOGLIN.ER.AD.Tf.MAT.MAP.intra.r.set.species',
data.type = 'intra'))
mat.AIC <- do.call('cbind',
lapply(c('Wood.density', 'SLA', 'Max.height'),
extract.AIC, list.res = list.all.results,
model = 'lmer.LOGLIN.ER.AD.Tf.MAT.MAP.intra.r.set.species',
data.type = 'intra'))
mat.AIC.0 <- do.call('cbind',
lapply(c('Wood.density', 'SLA', 'Max.height'),
extract.AIC, list.res = list.all.results.0,
model = 'lmer.LOGLIN.r.set.species'))
bold.index <- which(((mat.param - 1.96*mat.param.sd) >0 & mat.param > 0) |
((mat.param + 1.96*mat.param.sd) <0 & mat.param <0),
......@@ -147,12 +165,14 @@ mat.param <- rbind(mat.param.mean.sd,
round(mat.AIC- mat.AIC, 0),
round(mat.AIC.0 - mat.AIC, 0))
colnames(mat.param) <- c('Wood density', 'SLA', 'Maximum height')
row.names(mat.param) <- c('$m_0$', '$\\gamma$', '$m_1$', '$\\alpha_0$',
row.names(mat.param) <- c('$m_0$', '$\\gamma$', '$m_1$',
'$\\alpha_{0 \\, intra}$','$\\alpha_{0 \\, inter}$',
'$\\alpha_e$', '$\\alpha_t$',
'$\\alpha_s$', '$R^2_m$*', '$R^2_c$*', '$\\Delta$ AIC', '$\\Delta$ AIC no trait')
'$\\alpha_s$', '$R^2_m$*', '$R^2_c$*',
'$\\Delta$ AIC', '$\\Delta$ AIC no trait')
##+ Table2_Effectsize, echo = FALSE, results='asis', message=FALSE
pandoc.table(mat.param[c(1,3,2,4:11), ], caption = "Standardized parameters estimates and standard error (in bracket) estimated for each trait, $R^2$* of models and $\\Delta$ AIC of the model and of a model with no trait effect. Best model have a $\\Delta$ AIC of zero. See section Method for explanation of parameters",
pandoc.table(mat.param[c(1,3,2,4:12), ], caption = "Standardized parameters estimates and standard error (in bracket) estimated for each trait, $R^2$* of models and $\\Delta$ AIC of the model and of a model with no trait effect. Best model have a $\\Delta$ AIC of zero. See section Method for explanation of parameters",
digits = 3, justify = c('left', rep('right', 3)),
emphasize.strong.cells = bold.index, split.tables = 200)
......@@ -164,39 +184,3 @@ pandoc.table(mat.param[c(1,3,2,4:11), ], caption = "Standardized parameters esti
##+ ComputeTable_EffectsizeINTRA, echo = FALSE, results = 'hide', message=FALSE
list.all.results.intra <-
readRDS.root('output/list.lmer.out.all.NA.intra.set.rds')
mat.param <- do.call('cbind', lapply(c('Wood.density', 'SLA', 'Max.height'),
extract.param, list.res = list.all.results,
model = 'lmer.LOGLIN.ER.AD.Tf.MAT.MAP.intra.r.set.species',
param.vec = c("(Intercept)", "logD", "Tf","sumBn.intra",, "sumBn.inter",
"sumTnBn","sumTfBn", "sumTnTfBn.abs")))
mat.param.sd <- do.call('cbind', lapply(c('Wood.density', 'SLA', 'Max.height'),
extract.param.sd, list.res = list.all.results,
model = 'lmer.LOGLIN.ER.AD.Tf.MAT.MAP.intra.r.set.species',
param.vec = c("(Intercept)", "logD", "Tf","sumBn.intra","sumBn.inter",
"sumTnBn","sumTfBn", "sumTnTfBn.abs")))
bold.index <- which(((mat.param - 1.96*mat.param.sd) >0 & mat.param > 0) |
((mat.param + 1.96*mat.param.sd) <0 & mat.param <0),
arr.ind = TRUE)
mat.param.mean.sd <- matrix(paste0(round(mat.param, 3),
' (',
round(mat.param.sd, 3),
')'), ncol = 3)
mat.param <- rbind(mat.param.mean.sd)
colnames(mat.param) <- c('Wood density', 'SLA', 'Maximum height')
row.names(mat.param) <- c('$m_0$', '$\\gamma$', '$m_1$', '$\\alpha_{0,intra}$', '$\\alpha_{0,inter}$',
'$\\alpha_e$', '$\\alpha_t$',
'$\\alpha_s$')
##+ Table2_EffectsizeINTRA, echo = FALSE, results='asis', message=FALSE
pandoc.table(mat.param[c(1,3,2,4:11), ], caption = "Standardized parameters estimates and standard error (in bracket) estimated for each trait for a model with separate $\\alpha_0$ for intraspecific and interspecific competition",
digits = 3, justify = c('left', rep('right', 3)),
emphasize.strong.cells = bold.index, split.tables = 200)
......@@ -124,7 +124,7 @@ maximum growth was include as:
\begin{equation} \label{Gmax}
\log{G_{\textrm{max} \, f,p,s}} = m_{0} + m_1 \, t_f + m_2 \, MAT +
m_2 \, MAP + \varepsilon_{G_{\textrm{max}}, f} + \varepsilon_{G_{\textrm{max}}, p} + \varepsilon_{G_{\textrm{max}}, s}.
m_3 \, MAP + \varepsilon_{G_{\textrm{max}}, f} + \varepsilon_{G_{\textrm{max}}, p} + \varepsilon_{G_{\textrm{max}}, s}.
\end{equation}
Here \(m_0\) is the average maximum growth, \(m_1\) gives the effect of
......@@ -143,14 +143,14 @@ Previous studies have proposed different decomposition of the competition parame
\alpha_0 + \alpha_h ( t_f-t_c )$. Finally, Lasky et al.\citep{Lasky-2014} developped one single model inculding multiple-processes as $\alpha =
\alpha_0 + \alpha_t t_f +\alpha_h ( t_f-t_c ) + \alpha_s \vert t_f-t_c
\vert$. In this study, we extended this last model by considering that it was more clear to split
$\alpha_h (t_f - t_c)$ in $\alpha_t t_f + \alpha_e t_c$, which is equivalent to the hierarchical distance if $\alpha_t = - \alpha_e$ (thus avoiding replication of $t_f$ effect through both $\alpha_h$ and $\alpha_t$).}, here we extended the approach of the most recent study\citep{Lasky-2014}. As presented in Fig. 1, competitive
$\alpha_h (t_f - t_c)$ in $\alpha_t t_f + \alpha_e t_c$, which is equivalent to the hierarchical distance if $\alpha_t = - \alpha_e$ (thus avoiding replication of $t_f$ effect through both $\alpha_h$ and $\alpha_t$), and splitting $\alpha_0$ in intra- and inter-specific competition.}, here we extended the approach of the most recent study\citep{Lasky-2014}. As presented in Fig. 1, competitive
interactions were modelled using an equation of the form\footnote{For
fitting the model the equation of \(\alpha_{c,f}\) was developped with
species basal area in term of community weighted mean of the trait,
see Supplementary methods for more details.}:
\begin{equation} \label{alpha}
\alpha_{c,f}= \alpha_{0,f} - \alpha_t \, t_f + \alpha_e \, t_c + \alpha_s \, \vert t_c-t_f \vert
\alpha_{c,f}= \alpha_{0,f,intra} \, CON + \alpha_{0,f,inter} \, (1-CON) - \alpha_t \, t_f + \alpha_e \, t_c + \alpha_s \, \vert t_c-t_f \vert
\end{equation}
where:
......@@ -158,13 +158,13 @@ where:
\begin{itemize}
\itemsep1pt\parskip0pt\parsep0pt
\item
\(\alpha_{0,f}\) is the trait independent competition for the focal
$\alpha_{0,f,intra}$ and $\alpha_{0,f,inter}$ are respectively intra- and interspecific trait independent competition for the focal
species \(f\), modelled with a normally distributed random effect of
species \(f\) and a normally distributed random effect of data set
species \(f\) and each with normally distributed random effect of data set
\(s\) {[}as
\(\alpha_{0,f} = \alpha_0 + \varepsilon_{\alpha_0, f}+ \varepsilon_{\alpha_0, s}\),
where \(\varepsilon_{\alpha_0, f} \sim \mathcal{N} (0,\sigma_{\alpha_0, f})\) and
\(\varepsilon_{\alpha_0, s} \sim \mathcal{N} (0,\sigma_{\alpha_0, s})\){]},
\(\varepsilon_{\alpha_0, s} \sim \mathcal{N} (0,\sigma_{\alpha_0, s})\){]}. And $CON$ is a binary variable taking the value one for $f=c$ (conspecific) and zero for $f \neq c$ (heterospecific),
\item
\(\alpha_t\) is the \textbf{tolerance of competition} of the focal
species, i.e.~change in competition tolerance due to traits \(t_f\) of
......@@ -184,30 +184,14 @@ where:
{[}$\varepsilon_{\alpha_s,s} \sim \mathcal{N} (0,\sigma_{\alpha_s})${]}.
\end{itemize}
To explore whether the trait similarity effect $\alpha_s$ was driven
only by different competitive effect between conspecific and
heterospecific, we also explored an alternative model where the traits
similarity was computed only for heterospecific and distinct trait
independent parameter $alpha_0$ were estimated for intraspecific and
interspecific competition. Intra-specific competition was modelled as:
\begin{equation}
\alpha_{f,f} = \alpha_{0,intra,f} + \alpha_t \, t_f + \alpha_e \, t_f
\end{equation}
Estimating different $\alpha_0$ for intra- and interspecific competition allow to account for trait independant differences in interactions with conspecific or with heterospecific.
where \(\alpha_{0,intra,f}\) is the intraspecific trait independent
competition for the focal species \(f\) (with the same random
structure as above), and the other parameters have the same definition as in the previous model.
We also explored a simpler version of the model where only one $\alpha_0$ was include in the model of $\alpha_{c,f}$ as most previous studies have generally not make this distinction which may lead into an overestimation of the trait similarity effect. In this alternative model the equation was:
And inter-specific competition was modelled as:
\begin{equation}
\alpha_{f,c} = \alpha_{0,inter,f} + \alpha_t \, t_f + \alpha_e \, t_c + \alpha_s \, \vert t_c - t_f \vert
\begin{equation} \label{alpha}
\alpha_{c,f}= \alpha_{0,f} - \alpha_t \, t_f + \alpha_e \, t_c + \alpha_s \, \vert t_c-t_f \vert
\end{equation}
where \(\alpha_{0,inter,f}\) is the interspecific trait independent
competition for the focal species \(f\) (with the same random
structure as above), and the other parameters have the same definition as in the previous model.
Eqs. \ref{logG1}-\ref{alpha} were then fitted to empirical estimates of
growth based on change in diameter between census $t$
......@@ -237,6 +221,16 @@ with a single effect constant across biomes but with a random effect
for the parameters with both the data set and a local ecoregion using
the K{\"o}ppen-Geiger ecoregion\citep{Kriticos-2012}.
\subsection{Estimating of strength of stabilising processes}\label{rho}
To estimate if traits effects on competition have the potential to lead to a stable coexistence of species with diverse traits values, studies\citep{Kraft-2015, Godoy-2014} have recently proposed to use the method developed by Chesson\citep{Chesson-2012} to estimate the stabilising niche difference between species which estimates the strength process favouring the establishment of a species as rare invader in an other species already established (see an example based on the Lotka-Volterra model based on Godoy \& Levine\citep{Kraft-2015, Godoy-2014} in the Supplementary Methods). This approach shows that $\rho$ defined as the ratio of geometric mean of interspecific competition over intraspecific competition ($\rho = \sqrt{\frac{\alpha'_{ij} \alpha'_{ji}}{\alpha'_{jj} \alpha'_{ii}}}$, where $\alpha'_{ij}$ represent the population level competitive effect of species $j$ on species $i$) to quantify stabilising niche overlap. Our model only estimate competition effect on the individual basal area growth, and not on the population growth, it is thus impossible to estimate the fitness of a rare invader. We can, however, compare the relative importance of interspecific to intraspecific competition using the same approach as $\rho$. The competitive effect of species $j$ on species $i$ can be defined by the inverse of the growth reduction per unit of basal area of the species $j$ on species $j$ predicted by tree basal area growth model (see equ. \ref{logG1}). According to this model $\alpha'_{ij} = \frac{1}{e^{-\alpha_{ij}}}$, with $\alpha_{ij}$ defined by equ. \ref{alpha}. $\rho$ can then be simplified based on eqn. \ref{alpha} as:
\begin{equation} \label{rho}
\rho = \sqrt{\frac{\alpha'_{ij} \alpha'_{ji}}{\alpha'_{jj} \alpha'_{ii}}} = e^{(\alpha_{0,inter} - \alpha_{0,intra} + \alpha_s \vert t_j - t_i \vert)}
\end{equation}
The stabilising niche difference is then defined as $1-\rho$.
\section{Data}\label{data}
\subsection{Growth data}\label{growth-data}
......@@ -262,7 +256,7 @@ that were identified as a plantations, or overlapping a forest edge.
Finally, we randomly selected only two consecutive census dates per
plot or quadrat to
avoid having to account for repeated measurements, as less than a third
of the data had repeated measurements. See the Supplementary Methods and
of the data had repeated measurements. Because human and natural disturbances are present in all these forests (see Supplementary Methods), they probably all experience successional dynamics (as shown by the forest age distribution available in some of these sites in Supplementary Methods). See the Supplementary Methods and
Extended Data Table 1 for more details on the individual data sets.
Basal area growth was estimated from diameter measurements recorded
......
......@@ -160,7 +160,7 @@ and maximum height -- consistently influence competitive interactions.
High maximum growth of a focal tree was correlated with low wood
density in all biomes and with high specific leaf area in three biomes. At the same time, low wood density
was correlated with both a low ability to tolerate competition and a
low competitive effect on its neighbours, and high
low competitive effect, and high
specific leaf area with a low competitive effect. We thus demonstrate at a global scale that
traits generate trade-offs between performances with \emph{vs.} without
competition, a fundamental ingredient in the classic hypothesis
......@@ -169,7 +169,7 @@ successional strategy\citep{Rees-2001}. In contrast, after accounting for
trait independent difference in intra- \textit{vs.} inter-specific interactions, we
found evidence only of a weak trait similarity effect for maximum
height, through which
neighbouring plants suffered more from competition when their traits
neighbouring plants suffered more from competition when their trait values
were more similar. Our
trait-based approach to modelling competition reveals key generalisations
across the forest ecosystems of the globe.
......@@ -193,7 +193,7 @@ similar trait values\citep{MacArthur-1967} (trait-similarity). The few
studies\citep{Uriarte-2010, Kunstler-2012, HilleRisLambers-2012, Lasky-2014, Kraft-2015, Mayfield-2010}
that have explored links between traits and competition have, however, shown
that these links may be more complex, as particular trait values may
confer competitive advantage independently from the trait-similarity\citep{Mayfield-2010, Kunstler-2012, Kraft-2014}. This
confer competitive advantage independently from the trait-similarity process\citep{Mayfield-2010, Kunstler-2012, Kraft-2014}. This
distinction is fundamental to understand species coexistence and the
local mixture of traits. If neighbourhood competition is driven
mainly by trait similarity, this will favour a wide spread of trait
......@@ -272,20 +272,19 @@ shorter leaf life span associated with high SLA results in low standing
leaf area and low light interception\citep{Niinemets-2010}. We found
no correlation of maximum height with any mechanisms linked to
competitive advantage. This trait is, however, generally considered closely connected with
light interception a key advantage in
light interception, a key advantage in
competition\citep{Mayfield-2010}, but it is possible that maximum
height effect appears only when considering long-term
population levels outcome of competition rather its short-term effect
population levels outcome of competition rather than its short-term effect
on basal area growth\citep{Adams-2007}.
Finally, after accounting for the higher trait independent
intraspecific competition than interspecific competition, we found
Finally, after accounting for differences in trait independent
intraspecific competition \textit{vs.} interspecific competition, we found
very weak evidences of trait similarity effect on competitive
interactions. Only maximum height similarity between focal and
neighbour species led to a weak increase in competitive suppression of
tree growth (Fig. \ref{res1}). The ratios of inter-specific over intra-specific competition between
pairs of species -- a key indicator of stabilising mechanisms -- was thus
only weakly related to traits differences (see Fig ??TOADD in
Supplementary Results). `Trait similarity' effect has generally been considered as the key mechanism
only weakly related to traits differences (see Extended data Fig 3). `Trait similarity' effect has generally been considered as the key mechanism
by which traits affect competition, but has rarely been confirmed with
field data\citep{Mayfield-2010}. Our analysis shows at
global scale that this process is very weak. The underlying mechanisms
......@@ -294,8 +293,7 @@ interspecific competition and the small maximum height similarity
effect are unknown, but could include less efficient light
capture because of less complementarity in architectural
niche\citep{Sapijanskas-2014, Jucker-2015}, or higher loads of specialised
pathogens\citep{Bagchi-2014} between conspecific or species with similar traits. This highlight that other traits
for instance more directly related to natural enemies
pathogens\citep{Bagchi-2014} between conspecific or species with similar traits. This highlight that other traits, for instance traits more directly related to natural enemies,
may show stronger trait
similarity effect.
......@@ -314,19 +312,17 @@ coexistence of species in forests, where fast-growing species are more abundant
in early successional stages where competitors are absent, and are
later replaced by slow-growing species in late successional stages where
competitors are abundant\citep{Rees-2001}. As human or
natural disturbances are conspicuous in all data analysed, such successional
dynamics is likely to be common (see
Supplementary Methods). These trade-offs was presents for wood
natural disturbances are conspicuous in all forests analysed, such successional
dynamics is likely to be on going in all these sites (see
data description in Supplementary Methods). These trade-offs was presents for wood
density, as high wood density was associated with slow potential
growth rate but high tolerance to competition and strong competitive effect
(Fig. \ref{res3}). Similar pattern was present, but less clear, for SLA, high SLA was
(Fig. \ref{res3}). Similar pattern was present, but less clear, for SLA. High SLA was
correlated with a low competitive effect and marginally correlated with a fast maximum
growth (confidence intervals do not intercepted zero only in three
biomes, see Fig. \ref{res1} and \ref{res3}). In addition, the long
term impact of SLA is unclear, because competitive effect may be less
important than the tolerance of competition in
driving outcomes of competition at the population level\citep{Goldberg-1996,
Adams-2007}.
term impact of SLA is unclear, because long-term outcomes of competition at the population level may be less
influenced by competitive effect than the tolerance of competition\citep{Goldberg-1996}.
Coordination between trait values conferring high competitive effect and
trait values conferring high tolerance of competition has generally
......@@ -409,7 +405,7 @@ modelled as the sum of growth reduction independent of trait by conspecific
competitive effect ($\alpha_e$), the effect of the focal tree's traits
($t_f$) on its tolerance of competition ($\alpha_t$), and the effect
of trait similarity between the focal tree and its competitors
($\vert t_c-t_f \vert$) on competition ($\alpha_s$). The parameters $m_0, m_1, \alpha_0, \alpha_e, \alpha_t$ and
($\vert t_c-t_f \vert$) on competition ($\alpha_s$). The parameters $m_0, m_1, \alpha_{0 \, intra}, \alpha_{0 \, inter}, \alpha_e, \alpha_t$ and
$\alpha_s$ are fitted from data using maximum likelihood method.
\label{ilustr}}
\end{figure}
......
......@@ -108,6 +108,17 @@
Volume = {12}
}
@incollection{Chesson-2012,
title = {Species competition and predation},
booktitle = {Ecological Systems},
publisher = {Springer},
author = {Chesson, Peter},