This is a running presentation of results from Ch. 2 analysis.
O2.1: Quantify the effect of disturbance severity (0, 45, 65, and 85 % gross defoliation) on subcanopy community-weighted means (CWM) of leaf traits (LMA, NDVIleaf, gs, Asat) across four landform types (i.e. replicates).
H2.1: Increases in subcanopy CWMs associated with sun-leaf morphology and physiology over three growing seasons after disturbance will positively correlate with disturbance severity; this effect will be most pronounced in low productivity sites.
Analysis O2.1: In order to test hypothesized linkages between disturbance severity and CWMs of leaf traits, I will employ a series of statistical models. All statistical analysis will be conducted in R using package lme4 (Bates et al., 2015). First, this analysis must address the inherently hierarchical or nested nature of the data collected, including grouping of samples within geographically non-independent areas and repeated measurements through successive years of data collection. To address O2.1, I will use a time series split-plot mixed effects ANOVA similar in design to the published models used in analysis of first-year production response at our site (Gough et al., 2020; Grigri et al., 2020). In this model, disturbance severity (0, 45, 65, or 85 %) will be the fully randomized whole-plot factor, while disturbance treatment (“bottom-up” or “top-down” disturbance application, described in my dissertation proposal section 1.3, and randomized within each disturbance severity level) is the restrictively randomized split-plot factor (see proposal Fig. 1.2 for illustration of this design).This statistical model is detailed in Equation 2.1 and Table 2.2 below:
Y_ijkl= μ + Rep_i + Year_j + Severity_(k|i) + Year:Sev_(jk|i) + Type_l + Year:Type_jl + ε_ijkl (2.1)
Where Yijkl is the normally distributed subplot-level CWM subcanopy leaf functional trait, µ is the grand mean, Repi is experimental replicate (a random effect, analogous to an experimental block), Yearj is the sample year (j indexing the timeframe 2018-2021), Severityk|i is the disturbance severity (with each severity level, k, randomized within the ith replicate), Typel is the treatment type (l indexing one of the two types, top-down or bottom-up), two interaction terms for year:severity and year:type, and four separate error terms (three within-group error terms to deal with nested effects, plus a residual error term). For simplicity’s sake, all error terms are lumped in the notation in Equation 2.1 (as term ε), but are detailed in Table 2.2 as they will be separately analyzed in this model. To compare means across modeled groups, I will perform LSD post hoc pairwise tests with α = 0.05.
Running split-split plot ANOVA on Asat & gs data. Assumptions for ANOVA were tested for each data set. Asat data passed both normality and homegeneous variance tests, while gs data barely departed from normality (p = 0.04, Shapiro-Wilk test) but upheld homogeneity of variances assumption (with Levene’s Test). Since ANOVA is known to be robust to departures from normality assumption, I assume this is ok.
Asat model showed significant year:severity interaction (p < 0.05) and significant main effect of year (p < 0.0001), with 85:2020, 65:2021 and 85:2021 being significantly different from control plots in those years (85% in 2020, and both 65% and 85% in 2021) according to LSD posthoc test. Cool stuff!
gs model again showed significant main effect of year (p < 0.0001), with a year:severity interaction having significance at alpha = 0.1 (p = 0.07). In 2021, the 45% severity group had significantly different mean stomatal conductance compared to control.
##
## Error: Replicate
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 3 97.91 32.64
##
## Error: Replicate:disturbance_severity
## Df Sum Sq Mean Sq F value Pr(>F)
## disturbance_severity 3 6.364 2.121 1.575 0.262
## Residuals 9 12.119 1.347
##
## Error: Replicate:disturbance_severity:treatment
## Df Sum Sq Mean Sq F value Pr(>F)
## treatment 1 0.754 0.7538 0.307 0.590
## disturbance_severity:treatment 3 4.541 1.5136 0.617 0.617
## Residuals 12 29.437 2.4530
##
## Error: Replicate:disturbance_severity:treatment:Year
## Df Sum Sq Mean Sq F value Pr(>F)
## Year 3 204.40 68.13 46.464 <2e-16 ***
## disturbance_severity:Year 9 27.21 3.02 2.062 0.0444 *
## treatment:Year 3 0.60 0.20 0.137 0.9377
## disturbance_severity:treatment:Year 9 2.78 0.31 0.211 0.9920
## Residuals 72 105.58 1.47
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Study: Subplot_mean_Asat ~ disturbance_severity:Year
##
## LSD t Test for Subplot_mean_Asat
##
## Mean Square Error: 1.47
##
## disturbance_severity:Year, means and individual ( 95 %) CI
##
## Subplot_mean_Asat std r LCL UCL Min Max
## 0:2018 3.512451 1.0866831 8 2.657932 4.366971 1.9989004 5.106841
## 0:2019 5.682747 1.4180056 8 4.828227 6.537266 3.9566667 8.401966
## 0:2020 5.256971 1.4003638 8 4.402452 6.111491 3.6194545 7.370979
## 0:2021 5.508394 1.9217910 8 4.653874 6.362913 3.5925000 9.229162
## 45:2018 3.662760 0.8934512 8 2.808240 4.517279 2.3757833 5.319000
## 45:2019 5.343321 1.0105900 8 4.488802 6.197841 4.0238333 6.965750
## 45:2020 5.795948 1.3757123 8 4.941429 6.650468 3.0160417 7.197000
## 45:2021 6.559955 1.6489282 8 5.705436 7.414475 3.3713333 8.600014
## 65:2018 2.315274 0.6748377 8 1.460755 3.169794 0.9291186 3.081500
## 65:2019 6.435734 1.6885565 8 5.581215 7.290254 4.6366667 9.237883
## 65:2020 6.154060 1.5795877 8 5.299540 7.008579 4.2603333 8.479967
## 65:2021 7.094864 2.7238111 8 6.240345 7.949384 4.3570000 12.160378
## 85:2018 3.392243 1.1252346 8 2.537723 4.246762 2.0570667 4.736667
## 85:2019 5.461259 1.4081166 8 4.606740 6.315779 3.1998333 7.637506
## 85:2020 6.466711 1.2211046 8 5.612191 7.321230 4.8281667 8.475895
## 85:2021 6.945022 1.7345497 8 6.090502 7.799541 4.3233333 9.053038
##
## Alpha: 0.05 ; DF Error: 72
## Critical Value of t: 1.993464
##
## least Significant Difference: 1.208473
##
## Treatments with the same letter are not significantly different.
##
## Subplot_mean_Asat groups
## 65:2021 7.094864 a
## 85:2021 6.945022 ab
## 45:2021 6.559955 abc
## 85:2020 6.466711 abcd
## 65:2019 6.435734 abcde
## 65:2020 6.154060 abcde
## 45:2020 5.795948 bcde
## 0:2019 5.682747 cde
## 0:2021 5.508394 cde
## 85:2019 5.461259 cde
## 45:2019 5.343321 de
## 0:2020 5.256971 e
## 45:2018 3.662760 f
## 0:2018 3.512451 fg
## 85:2018 3.392243 fg
## 65:2018 2.315274 g
##
## Study: Subplot_mean_Asat ~ disturbance_severity:Year
##
## Scheffe Test for Subplot_mean_Asat
##
## Mean Square Error : 1.47
##
## disturbance_severity:Year, means
##
## Subplot_mean_Asat std r Min Max
## 0:2018 3.512451 1.0866831 8 1.9989004 5.106841
## 0:2019 5.682747 1.4180056 8 3.9566667 8.401966
## 0:2020 5.256971 1.4003638 8 3.6194545 7.370979
## 0:2021 5.508394 1.9217910 8 3.5925000 9.229162
## 45:2018 3.662760 0.8934512 8 2.3757833 5.319000
## 45:2019 5.343321 1.0105900 8 4.0238333 6.965750
## 45:2020 5.795948 1.3757123 8 3.0160417 7.197000
## 45:2021 6.559955 1.6489282 8 3.3713333 8.600014
## 65:2018 2.315274 0.6748377 8 0.9291186 3.081500
## 65:2019 6.435734 1.6885565 8 4.6366667 9.237883
## 65:2020 6.154060 1.5795877 8 4.2603333 8.479967
## 65:2021 7.094864 2.7238111 8 4.3570000 12.160378
## 85:2018 3.392243 1.1252346 8 2.0570667 4.736667
## 85:2019 5.461259 1.4081166 8 3.1998333 7.637506
## 85:2020 6.466711 1.2211046 8 4.8281667 8.475895
## 85:2021 6.945022 1.7345497 8 4.3233333 9.053038
##
## Alpha: 0.05 ; DF Error: 72
## Critical Value of F: 1.807571
##
## Minimum Significant Difference: 3.156618
##
## Means with the same letter are not significantly different.
##
## Subplot_mean_Asat groups
## 65:2021 7.094864 a
## 85:2021 6.945022 a
## 45:2021 6.559955 ab
## 85:2020 6.466711 abc
## 65:2019 6.435734 abc
## 65:2020 6.154060 abc
## 45:2020 5.795948 abc
## 0:2019 5.682747 abc
## 0:2021 5.508394 abc
## 85:2019 5.461259 abcd
## 45:2019 5.343321 abcd
## 0:2020 5.256971 abcd
## 45:2018 3.662760 bcd
## 0:2018 3.512451 bcd
## 85:2018 3.392243 cd
## 65:2018 2.315274 d
##
## Error: Replicate
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 3 0.0007474 0.0002491
##
## Error: Replicate:disturbance_severity
## Df Sum Sq Mean Sq F value Pr(>F)
## disturbance_severity 3 0.003133 0.0010442 1.716 0.233
## Residuals 9 0.005475 0.0006084
##
## Error: Replicate:disturbance_severity:treatment
## Df Sum Sq Mean Sq F value Pr(>F)
## treatment 1 0.004767 0.004767 3.117 0.103
## disturbance_severity:treatment 3 0.003597 0.001199 0.784 0.526
## Residuals 12 0.018354 0.001529
##
## Error: Replicate:disturbance_severity:treatment:Year
## Df Sum Sq Mean Sq F value Pr(>F)
## Year 3 0.15152 0.05051 82.454 <2e-16 ***
## disturbance_severity:Year 9 0.01010 0.00112 1.831 0.0771 .
## treatment:Year 3 0.00099 0.00033 0.540 0.6562
## disturbance_severity:treatment:Year 9 0.00156 0.00017 0.283 0.9773
## Residuals 72 0.04410 0.00061
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Study: Subplot_mean_Cond ~ disturbance_severity:Year
##
## LSD t Test for Subplot_mean_Cond
##
## Mean Square Error: 0.00061
##
## disturbance_severity:Year, means and individual ( 95 %) CI
##
## Subplot_mean_Cond std r LCL UCL Min
## 0:2018 0.04204207 0.01714998 8 0.024634899 0.05944924 0.013704276
## 0:2019 0.08489376 0.03073493 8 0.067486592 0.10230094 0.043042051
## 0:2020 0.09015490 0.02858328 8 0.072747728 0.10756207 0.064918182
## 0:2021 0.11834571 0.02769400 8 0.100938537 0.13575288 0.081996527
## 45:2018 0.04296562 0.01593951 8 0.025558446 0.06037279 0.016400462
## 45:2019 0.07982901 0.02034905 8 0.062421838 0.09723618 0.052347410
## 45:2020 0.10910708 0.02472627 8 0.091699908 0.12651425 0.076508333
## 45:2021 0.15933448 0.04980928 8 0.141927307 0.17674165 0.089961667
## 65:2018 0.02622740 0.01362041 8 0.008820225 0.04363457 0.006185888
## 65:2019 0.09913404 0.01970415 8 0.081726867 0.11654121 0.075601667
## 65:2020 0.10663152 0.02628507 8 0.089224345 0.12403869 0.069085000
## 65:2021 0.13317937 0.03447798 8 0.115772200 0.15058654 0.090831667
## 85:2018 0.04434271 0.01714988 8 0.026935541 0.06174989 0.024236467
## 85:2019 0.08300837 0.03131399 8 0.065601201 0.10041555 0.044826667
## 85:2020 0.10868680 0.01432471 8 0.091279625 0.12609397 0.086980000
## 85:2021 0.12481070 0.02923499 8 0.107403529 0.14221787 0.077235000
## Max
## 0:2018 0.07219667
## 0:2019 0.14061667
## 0:2020 0.15439167
## 0:2021 0.15815167
## 45:2018 0.05991500
## 45:2019 0.10988500
## 45:2020 0.14920500
## 45:2021 0.22858333
## 65:2018 0.04254667
## 65:2019 0.13009572
## 65:2020 0.14895283
## 65:2021 0.19690181
## 85:2018 0.07235167
## 85:2019 0.14568833
## 85:2020 0.13343167
## 85:2021 0.15419091
##
## Alpha: 0.05 ; DF Error: 72
## Critical Value of t: 1.993464
##
## least Significant Difference: 0.02461746
##
## Treatments with the same letter are not significantly different.
##
## Subplot_mean_Cond groups
## 45:2021 0.15933448 a
## 65:2021 0.13317937 b
## 85:2021 0.12481070 bc
## 0:2021 0.11834571 bcd
## 45:2020 0.10910708 bcde
## 85:2020 0.10868680 bcde
## 65:2020 0.10663152 cdef
## 65:2019 0.09913404 defg
## 0:2020 0.09015490 efg
## 0:2019 0.08489376 efg
## 85:2019 0.08300837 fg
## 45:2019 0.07982901 g
## 85:2018 0.04434271 h
## 45:2018 0.04296562 h
## 0:2018 0.04204207 h
## 65:2018 0.02622740 h
LMA and N-related leaf reflectance indices (NDVI, PRI, NPCI, and RENDVI). PRI is associated with the xanthophyll cycle and is often used as a proxy for leaf-level light use efficiency ref. reNDVI (red-edge NDVI) is associated with chlorophyll content and more broadly, foliar N. NPCI (normalized pigment chlorophyll ratio index) is another narrow-band index that may be more informative about physiological change over time than NDVI ref.
I have unbalanced sampling for reflectance to consider, since only broad-leaved trees could be sampled with the leaf mini-spectrometer. This should not be a huge deal in ANOVA but is something to be aware of.
I tested assumptions for ANOVA as before, with Shapiro-Wilk for normality & Levene’s (and/or Bartlett’s) for homogeneity of variances. Here is the summary of findings for each data set for each test:
LMA: non-normal, non-homogeneous variance (–> tried transforming LMA with 1/x and log(x))
1/x transformed LMA: still not normal (but larger p-value for Shapiro Wilk test, and appears less skewed/more normal…still gonna run the ANOVA since it’s mostly robust to non-normality), homogeneous variances with Bartlett’s test (p = 0.11).
NDVI: non-normal, homogeneous variance (boxplot for control in 2020, and to a lesser extent in 2019, shows much greater spread than other severities or control in other years and would need cleaning/explanation)
PRI: non-normal, non-homogeneous (probably going to skip this one; 2018 had some extremely low values during exceptionally hot and dry days that would need to be handled somehow or discarded. Not convinced the effort is warranted if other indices are as or more useful.)
NPCI: non-normal, homogeneous variance (probably going to skip this one; lots of difference between years that needs explanation, or may be driven in part by instrument malfunction)
reNDVI: normal, non-homogeneous (but only barely, so I’m not worrying about it) Looks like this is the index to use!
I am using the same split-split plot ANOVA type used for Asat and gs for the LMA and reNDVI analysis.
LMA (transformed as 1/x) yielded no significant effect of disturbance severity or interactions. The only significant effect in the split-split plot ANOVA was the main effect of Year (p < 0.01), with 2019 being significantly different from 2018, 2020, and 2021.
reNDVI is emerging as the easiest reflectance index to work with, although NDVI is close and could probably be cleaned up as a data set for use. reNDVI yielded another significant year:severity interaction effect (p < 0.001) and a significant main effect of year (p < 0.001). Post-hoc LSD analysis indicated that the following disturbance severity-year combinations were significantly different from the control treatment in that particular year: 2018:85, 2020 (45, 65, 85), and 2021 (45, 65, 85).
## Parsed with column specification:
## cols(
## replicate = col_character(),
## plot = col_double(),
## subplot = col_character(),
## latitude_subplot = col_double(),
## longitude_subplot = col_double(),
## subplot_area_m2 = col_double(),
## disturbance_severity = col_double(),
## treatment = col_character()
## )
## `summarise()` regrouping output by 'Subplot' (override with `.groups` argument)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
##
## Error: Replicate
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 3 0.009825 0.003275
##
## Error: Replicate:disturbance_severity
## Df Sum Sq Mean Sq F value Pr(>F)
## disturbance_severity 3 0.0003572 1.191e-04 1.331 0.324
## Residuals 9 0.0008053 8.948e-05
##
## Error: Replicate:disturbance_severity:treatment
## Df Sum Sq Mean Sq F value Pr(>F)
## treatment 1 0.0000155 1.551e-05 0.402 0.538
## disturbance_severity:treatment 3 0.0002568 8.560e-05 2.219 0.139
## Residuals 12 0.0004628 3.857e-05
##
## Error: Replicate:disturbance_severity:treatment:Year
## Df Sum Sq Mean Sq F value Pr(>F)
## Year 3 0.0001115 3.717e-05 5.102 0.00294 **
## disturbance_severity:Year 9 0.0001055 1.172e-05 1.609 0.12891
## treatment:Year 3 0.0000137 4.560e-06 0.627 0.60013
## disturbance_severity:treatment:Year 9 0.0000610 6.780e-06 0.931 0.50389
## Residuals 72 0.0005245 7.280e-06
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Study: trans_lma ~ Year
##
## LSD t Test for trans_lma
##
## Mean Square Error: 7.28e-06
##
## Year, means and individual ( 95 %) CI
##
## trans_lma std r LCL UCL Min Max
## 2018 0.02978198 0.008525725 32 0.02883116 0.03073280 0.011946177 0.04178672
## 2019 0.02734680 0.009885287 32 0.02639598 0.02829763 0.010011844 0.04197147
## 2020 0.02906665 0.010636990 32 0.02811583 0.03001747 0.009757049 0.04781257
## 2021 0.02941595 0.010831931 32 0.02846513 0.03036677 0.009661221 0.05089826
##
## Alpha: 0.05 ; DF Error: 72
## Critical Value of t: 1.993464
##
## least Significant Difference: 0.001344665
##
## Treatments with the same letter are not significantly different.
##
## trans_lma groups
## 2018 0.02978198 a
## 2021 0.02941595 a
## 2020 0.02906665 a
## 2019 0.02734680 b
####### NDVI
ndvi <- indices %>%
group_by(Subplot, Year) %>%
filter(Calculation == "NDVI") %>%
summarize(mean_ndvi = mean(Value))
## `summarise()` regrouping output by 'Subplot' (override with `.groups` argument)
df3 <- left_join(ndvi, treatments1, by = "Subplot")
df3$disturbance_severity <- as.factor(df3$disturbance_severity)
bp4 <- df3 %>%
ggplot(aes(x = disturbance_severity, y = mean_ndvi, group_by(disturbance_severity), fill = disturbance_severity)) +
theme_classic(base_size = 13) +
geom_boxplot(show.legend = FALSE) +
xlab("Severity (% Gross Defoliation)") +
ylab('Subcanopy CWM NDVI') +
scale_fill_manual(values = c("#000000", "#009E73", "#0072B2", "#D55E00")) +
facet_grid(~Year)
bp4
# Basic density for NDVI
dens2ndvi <- ggplot(df3, aes(x=mean_ndvi)) +
geom_histogram(aes(y=..density..)) +
stat_function(fun = dnorm,
args = list(mean = mean(df3$mean_ndvi),
sd = sd(df3$mean_ndvi)),
col = "#1b98e0",
size = 3) +
ggtitle("Histogram of Subplot Mean NDVI Values, 2018-2021")
dens2ndvi
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
########################################################### NDVI
# add replicate to the NDVI dataset
df3$Replicate <-
ifelse(grepl("A...", df3$Subplot),
"A",
ifelse(grepl("B...", df3$Subplot),
"B",
ifelse(grepl("C...", df3$Subplot),
"C",
ifelse(grepl("D...", df3$Subplot),
"D", "Other"
))))
# clean up my NDVI df for model run
df3$disturbance_severity <- as.factor(df3$disturbance_severity)
df3$treatment <- as.factor(df3$treatment)
df3$Replicate <- as.factor(df3$Replicate)
df3$Year <- as.factor(df3$Year)
# recode 0 to 0.00 to help me when with the post-hoc output
# df3$disturbance_severity <- recode_factor(df3$disturbance_severity, "0" = "0.00")
shapiro.test(df3$mean_ndvi) # not normal
##
## Shapiro-Wilk normality test
##
## data: df3$mean_ndvi
## W = 0.95487, p-value = 0.0003081
library(car)
leveneTest(mean_ndvi ~ disturbance_severity, data=df3) # homogeneous variance
## Levene's Test for Homogeneity of Variance (center = median)
## Df F value Pr(>F)
## group 3 0.2422 0.8668
## 124
# LME for NDVI
# NDVImixed <- lmer(mean_ndvi ~ disturbance_severity + (1|Year) + (1|Replicate), data = df3)
# summary(NDVImixed)
# plot(NDVImixed, which = 1)
#
# ## graph scatter color-coded by year to try to see where outlier data are (assume they are from 2020 for NDVI, but verify this)
# p22 <- df3 %>%
# ggplot(aes(x = disturbance_severity, y = mean_ndvi, label = Subplot)) +
# theme_classic(base_size = 15) +
# geom_point(show.legend = FALSE, size=3) +
# xlab("Disturbance Severity") +
# ylab("NDVI") +
# geom_text(check_overlap = TRUE, hjust = 0, nudge_x = 0.1, size= 2) +
# facet_grid(~Year)
#
# p22
#
#This model will not work: ANOVA
NDVImodel <- aov(mean_ndvi ~ disturbance_severity*treatment*Year + Error(Replicate/disturbance_severity/treatment/Year), data = df3)
summary(NDVImodel)
##
## Error: Replicate
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 3 0.007939 0.002646
##
## Error: Replicate:disturbance_severity
## Df Sum Sq Mean Sq F value Pr(>F)
## disturbance_severity 3 0.000956 0.0003186 0.902 0.478
## Residuals 9 0.003181 0.0003534
##
## Error: Replicate:disturbance_severity:treatment
## Df Sum Sq Mean Sq F value Pr(>F)
## treatment 1 0.0001423 0.0001423 1.359 0.266
## disturbance_severity:treatment 3 0.0003001 0.0001001 0.956 0.445
## Residuals 12 0.0012561 0.0001047
##
## Error: Replicate:disturbance_severity:treatment:Year
## Df Sum Sq Mean Sq F value Pr(>F)
## Year 3 0.024495 0.008165 55.881 <2e-16 ***
## disturbance_severity:Year 9 0.002572 0.000286 1.956 0.0573 .
## treatment:Year 3 0.000503 0.000168 1.147 0.3361
## disturbance_severity:treatment:Year 9 0.000908 0.000101 0.690 0.7155
## Residuals 72 0.010520 0.000146
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## `summarise()` regrouping output by 'Subplot' (override with `.groups` argument)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
##
## Error: Replicate
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 3 0.000975 0.000325
##
## Error: Replicate:disturbance_severity
## Df Sum Sq Mean Sq F value Pr(>F)
## disturbance_severity 3 0.009547 0.003182 1.288 0.337
## Residuals 9 0.022231 0.002470
##
## Error: Replicate:disturbance_severity:treatment
## Df Sum Sq Mean Sq F value Pr(>F)
## treatment 1 0.000073 0.0000734 0.077 0.786
## disturbance_severity:treatment 3 0.003497 0.0011658 1.225 0.343
## Residuals 12 0.011416 0.0009514
##
## Error: Replicate:disturbance_severity:treatment:Year
## Df Sum Sq Mean Sq F value Pr(>F)
## Year 3 0.05194 0.017313 35.185 4.11e-14 ***
## disturbance_severity:Year 9 0.02969 0.003299 6.704 6.50e-07 ***
## treatment:Year 3 0.00288 0.000959 1.949 0.129
## disturbance_severity:treatment:Year 9 0.00223 0.000248 0.504 0.867
## Residuals 72 0.03543 0.000492
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Study: mean_rendvi ~ disturbance_severity:Year
##
## LSD t Test for mean_rendvi
##
## Mean Square Error: 0.000492
##
## disturbance_severity:Year, means and individual ( 95 %) CI
##
## mean_rendvi std r LCL UCL Min Max
## 0:2018 0.3860638 0.039097598 8 0.3704307 0.4016970 0.3424175 0.4473930
## 0:2019 0.3515112 0.011835354 8 0.3358781 0.3671444 0.3323859 0.3674817
## 0:2020 0.3559897 0.026267325 8 0.3403565 0.3716228 0.3209590 0.4020659
## 0:2021 0.3576154 0.027923573 8 0.3419823 0.3732485 0.2956496 0.3913452
## 45:2018 0.3684707 0.009933976 8 0.3528375 0.3841038 0.3521926 0.3811391
## 45:2019 0.3412716 0.034327803 8 0.3256385 0.3569047 0.2732432 0.3838139
## 45:2020 0.3849216 0.020090652 8 0.3692885 0.4005548 0.3537472 0.4096618
## 45:2021 0.3897653 0.022600037 8 0.3741322 0.4053985 0.3479561 0.4204279
## 65:2018 0.3920454 0.041471362 8 0.3764123 0.4076786 0.3375867 0.4560871
## 65:2019 0.3385905 0.025960257 8 0.3229574 0.3542237 0.2888420 0.3725103
## 65:2020 0.3961214 0.025348295 8 0.3804883 0.4117545 0.3616078 0.4453122
## 65:2021 0.3995815 0.027091345 8 0.3839484 0.4152146 0.3727669 0.4477159
## 85:2018 0.3637663 0.015607253 8 0.3481331 0.3793994 0.3324736 0.3841420
## 85:2019 0.3351087 0.027594071 8 0.3194756 0.3507418 0.2762526 0.3587023
## 85:2020 0.4097473 0.020991580 8 0.3941142 0.4253804 0.3779864 0.4419152
## 85:2021 0.4295061 0.026488135 8 0.4138730 0.4451392 0.3833048 0.4652639
##
## Alpha: 0.05 ; DF Error: 72
## Critical Value of t: 1.993464
##
## least Significant Difference: 0.02210858
##
## Treatments with the same letter are not significantly different.
##
## mean_rendvi groups
## 85:2021 0.4295061 a
## 85:2020 0.4097473 ab
## 65:2021 0.3995815 bc
## 65:2020 0.3961214 bc
## 65:2018 0.3920454 bc
## 45:2021 0.3897653 bcd
## 0:2018 0.3860638 cd
## 45:2020 0.3849216 cde
## 45:2018 0.3684707 def
## 85:2018 0.3637663 ef
## 0:2021 0.3576154 fg
## 0:2020 0.3559897 fgh
## 0:2019 0.3515112 fgh
## 45:2019 0.3412716 gh
## 65:2019 0.3385905 gh
## 85:2019 0.3351087 h
In split-split plot ANOVAs for each trait, three of the four examined leaf functional traits (light-saturated rate of leaf photosynthesis, leaf stomatal conductance, and leaf reNDVI) had subplot mean values that had significant relationships with both year (p < 0.001 in all three models) and year:severity interaction (Asat: p < 0.05; gs: p < 0.1; reNDVI: p < 0.001). The fourth leaf functional trait, subplot mean leaf mass per area, also had a significant relationship with year (p < 0.01), but this relationship was not modulated by disturbance severity (i.e. no significant disturbance-by-year interaction effect).
All four leaf functional traits (Asat, gs, LMA, reNDVI) had a significant relationship with the main effect of year in the ANOVA linear models from O2.1. Therefore, year needs to be incorporated in O2.2 models for how these traits vary with canopy structure (as VAI).
O2.2: Determine whether disturbance-altered canopy vegetative area index (VAI) relates to changes in subcanopy leaf functional trait CWMs with rising disturbance severity.
H2.2: High severity disturbance (i.e. loss of the majority of canopy leaves) will reduce canopy vegetative area, leading to increases in subcanopy light availability and more sun-adapted leaf functional trait CWMs.
Analysis O2.2: To examine whether canopy structure across the FoRTE landscape drives differential subcanopy leaf functional traits (O2.2), I will follow two steps. First, I will test whether canopy vegetative area index (VAI) is related to disturbance severity, type, and year. To accomplish this, I will use an identical model to that outlined in Equation 2.1, with my outcome variable (Yijkl) as VAI. All other parameters (i.e. the entire right-hand side of the equation) will be the same as previously described.
Once I have tested the relationship between disturbance, year, and VAI, I will then proceed to address the core of O2.2. This objective seeks to determine whether disturbance-altered canopy structure – regardless of landform type/experimental replicate, or interannual climatic variability – relates to subcanopy CWM leaf functional traits across FoRTE as disturbance has unfolded. To answer this question, I will use a series of linear mixed effect models following the general form described in Equation 2.2 below:
y_i=x_i β + z_i u_i + ε_i
u_i ~ N(0,σ^2 ) ε_i~ N(0,R_i ) (2.2)
Where yi is the vector of N observations of the outcome variable; xi and zi are design matrices for the fixed and random effects, respectively; β is the vector of fixed parameters; ui is the vector of random parameters; ε_iis the vector of residuals; and Ri is the variance-covariance matrix for the error term.
In my analysis, normally-distributed CWM leaf functional traits (except for LMA, which is not normally distributed) will be the outcome, while normally-distributed VAI, year, replicate, and the interaction of VAI and year will be the predictors. VAI, year, and their interaction are fixed effects and will have regression coefficients of interest, while replicate is a random effect (analagous to an experimental block). The goal of this modeling effort is to determine whether, after accounting for experimental replicate and interannual climatic variability, there is a significant relationship between canopy VAI and subcanopy CWM leaf traits. Full models (including the interaction term) will be fit initially and contrasted with simpler models (excluding the interaction term). The best candidate model (i.e. with the lowest AIC score) will be chosen as the final model for each CWM. All models will be fit using the ‘lmer’ function from R package lme4 (Bates et al., 2015), using restricted maximum likelihood criteria. Equation 2.3 below gives this model:
Y_i= β_0 + β_1VAI_i + β_2Year_i + β_3VAI:Year_i + Rep_i + ε_i (2.3)
Where Yi is the ith subplot’s CWM leaf functional trait (Asat, reNDVI, LMA, or gs), β_0 is the global intercept, β_1 through β_3 are regression coefficients, VAIi is the subplot level mean vegetative area index, Yeari is year (2018-2021), VAI:Yeari is the interaction between VAI and year, Rep_i is the random effect of experimental replicate, and ε_i is the residual error term.
We are missing some observations for VAI in some subplots in some years.
We will need to use linear mixed effects models here. Grouping variable is the replicate (a random effect), and year is also a random effect. Random-slope, random-intercept model type with year + (year|replicate) notation in lme4 would be ideal, but probably requires more data than I have to work with (because model is more complex & random slopes estimation requires more information). If I used this structure, the effect of year would be assumed to depend on the replicate, rather than the effect of replicate depending on the year (reflecting restricted randomization scheme from the ANOVA models used earlier). However, based on what I have read and particularly on these resources 1, 2, & 3 from Ben Bolker, I am going to go with a random intercepts model. I think this makes sense given that I expect the impacts of year (i.e. climate) on leaf traits within each replicate to be similar.
Since treatment type (bottom-up, top-down) has not been found to be important in any of the prior modeling, I leave it out of this analysis.
Year:severity interaction is significant for 85:2021 (p < 0.01) and 65:2021 (p < 0.05). Random effect variance estimated for replicate (53.5 %).
## [1] 2018 2019 2020
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: mean_vai ~ disturbance_severity * Year + (1 | Replicate)
## Data: Asat_VAI
##
## REML criterion at convergence: 270.7
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.4293 -0.6299 0.1027 0.6497 1.7841
##
## Random effects:
## Groups Name Variance Std.Dev.
## Replicate (Intercept) 0.5411 0.7356
## Residual 0.4699 0.6855
## Number of obs: 125, groups: Replicate, 4
##
## Fixed effects:
## Estimate Std. Error df t value
## (Intercept) 6.791641 0.440462 5.810190 15.419
## disturbance_severity45 0.003497 0.371942 106.054233 0.009
## disturbance_severity65 -0.263968 0.342764 105.997840 -0.770
## disturbance_severity85 0.062344 0.342764 105.997840 0.182
## Year2019 -0.522761 0.342764 105.997840 -1.525
## Year2020 -0.148090 0.342764 105.997840 -0.432
## Year2021 -0.180745 0.342764 105.997840 -0.527
## disturbance_severity45:Year2019 -0.357865 0.505794 106.028395 -0.708
## disturbance_severity65:Year2019 -0.012961 0.493550 106.003379 -0.026
## disturbance_severity85:Year2019 -0.734116 0.484741 105.997840 -1.514
## disturbance_severity45:Year2020 -0.288484 0.505794 106.028395 -0.570
## disturbance_severity65:Year2020 -0.571375 0.484741 105.997840 -1.179
## disturbance_severity85:Year2020 -0.788769 0.484741 105.997840 -1.627
## disturbance_severity45:Year2021 -0.829669 0.505794 106.028395 -1.640
## disturbance_severity65:Year2021 -1.198952 0.484741 105.997840 -2.473
## disturbance_severity85:Year2021 -1.402880 0.484741 105.997840 -2.894
## Pr(>|t|)
## (Intercept) 6.19e-06 ***
## disturbance_severity45 0.99252
## disturbance_severity65 0.44294
## disturbance_severity85 0.85602
## Year2019 0.13020
## Year2020 0.66658
## Year2021 0.59908
## disturbance_severity45:Year2019 0.48079
## disturbance_severity65:Year2019 0.97910
## disturbance_severity85:Year2019 0.13289
## disturbance_severity45:Year2020 0.56964
## disturbance_severity65:Year2020 0.24115
## disturbance_severity85:Year2020 0.10666
## disturbance_severity45:Year2021 0.10390
## disturbance_severity65:Year2021 0.01497 *
## disturbance_severity85:Year2021 0.00462 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## [1] 306.6796
| mean_vai | |||
|---|---|---|---|
| Predictors | Estimates | CI | p |
| (Intercept) | 6.79 | 5.92 – 7.66 | <0.001 |
| disturbance severity [45] | 0.00 | -0.73 – 0.74 | 0.993 |
| disturbance severity [65] | -0.26 | -0.94 – 0.42 | 0.443 |
| disturbance severity [85] | 0.06 | -0.62 – 0.74 | 0.856 |
| Year [2019] | -0.52 | -1.20 – 0.16 | 0.130 |
| Year [2020] | -0.15 | -0.83 – 0.53 | 0.667 |
| Year [2021] | -0.18 | -0.86 – 0.50 | 0.599 |
|
disturbance severity [45] * Year [2019] |
-0.36 | -1.36 – 0.64 | 0.481 |
|
disturbance severity [65] * Year [2019] |
-0.01 | -0.99 – 0.97 | 0.979 |
|
disturbance severity [85] * Year [2019] |
-0.73 | -1.70 – 0.23 | 0.133 |
|
disturbance severity [45] * Year [2020] |
-0.29 | -1.29 – 0.71 | 0.570 |
|
disturbance severity [65] * Year [2020] |
-0.57 | -1.53 – 0.39 | 0.241 |
|
disturbance severity [85] * Year [2020] |
-0.79 | -1.75 – 0.17 | 0.107 |
|
disturbance severity [45] * Year [2021] |
-0.83 | -1.83 – 0.17 | 0.104 |
|
disturbance severity [65] * Year [2021] |
-1.20 | -2.16 – -0.24 | 0.015 |
|
disturbance severity [85] * Year [2021] |
-1.40 | -2.36 – -0.44 | 0.005 |
| Random Effects | |||
| σ2 | 0.47 | ||
| τ00 Replicate | 0.54 | ||
| ICC | 0.54 | ||
| N Replicate | 4 | ||
| Observations | 125 | ||
| Marginal R2 / Conditional R2 | 0.217 / 0.636 | ||
Mean VAI (p < 0.05), Year (p < 0.001), and VAI:Year (2019:VAI, p < 0.05; 2020:VAI & 2021:VAI, p < 0.001) were all significant fixed effects in the linear mixed effects model. Random effect variance estimate for replicate (29.8 %). This model also has the lowest AIC score of any candidate model listed.
Comparison of regression slopes for the 2018, 2019, 2020, and 2021 Asat vs VAI interaction lines indicated that contrasts for 2018 vs. all other years were significantly different at p < 0.0001. There were no significant differences between slopes for 2019, 2020, and 2021.
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: Subplot_mean_Asat ~ mean_vai * Year + (1 | Replicate)
## Data: Asat_VAI
##
## REML criterion at convergence: 384
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.47267 -0.57337 -0.08644 0.63375 2.51664
##
## Random effects:
## Groups Name Variance Std.Dev.
## Replicate (Intercept) 0.4953 0.7038
## Residual 1.1640 1.0789
## Number of obs: 125, groups: Replicate, 4
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) -1.2738 1.9612 113.4809 -0.650 0.517307
## mean_vai 0.6618 0.2861 116.6925 2.313 0.022465 *
## Year2019 8.3094 2.4408 113.9106 3.404 0.000916 ***
## Year2020 9.9491 2.0999 114.0146 4.738 6.28e-06 ***
## Year2021 13.5211 2.0500 114.6765 6.596 1.36e-09 ***
## mean_vai:Year2019 -0.8905 0.3825 113.8716 -2.328 0.021668 *
## mean_vai:Year2020 -1.1077 0.3173 113.9133 -3.492 0.000684 ***
## mean_vai:Year2021 -1.6647 0.3130 114.3604 -5.318 5.26e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) mean_v Yr2019 Yr2020 Yr2021 m_:Y201 m_:Y2020
## mean_vai -0.979
## Year2019 -0.688 0.696
## Year2020 -0.810 0.819 0.632
## Year2021 -0.861 0.871 0.651 0.760
## mn_v:Yr2019 0.635 -0.650 -0.991 -0.592 -0.607
## mn_v:Yr2020 0.782 -0.800 -0.616 -0.990 -0.738 0.585
## mn_v:Yr2021 0.820 -0.839 -0.627 -0.732 -0.988 0.593 0.720
## [1] 405.9604
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: Subplot_mean_Asat ~ mean_vai + Year + (1 | Replicate)
## Data: Asat_VAI
##
## REML criterion at convergence: 408.3
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.73470 -0.54869 0.03309 0.58297 2.62584
##
## Random effects:
## Groups Name Variance Std.Dev.
## Replicate (Intercept) 0.3304 0.5748
## Residual 1.4351 1.1980
## Number of obs: 125, groups: Replicate, 4
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 7.0051 1.0126 60.1825 6.918 3.40e-09 ***
## mean_vai -0.5727 0.1405 101.0794 -4.078 9.09e-05 ***
## Year2019 2.0794 0.3266 119.2914 6.367 3.73e-09 ***
## Year2020 2.4539 0.3144 118.2619 7.805 2.64e-12 ***
## Year2021 2.7885 0.3373 119.7826 8.267 2.16e-13 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) mean_v Yr2019 Yr2020
## mean_vai -0.934
## Year2019 -0.462 0.340
## Year2020 -0.381 0.247 0.551
## Year2021 -0.541 0.429 0.581 0.558
## [1] 423.2134
##
## Call:
## lm(formula = Subplot_mean_Asat ~ mean_vai + Year, data = Asat_VAI)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.2101 -0.7447 0.0403 0.6989 3.0293
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 8.8516 0.8172 10.831 < 2e-16 ***
## mean_vai -0.8475 0.1170 -7.244 4.55e-11 ***
## Year2019 1.8523 0.3361 5.512 2.07e-07 ***
## Year2020 2.3062 0.3283 7.024 1.40e-10 ***
## Year2021 2.5094 0.3431 7.314 3.18e-11 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.27 on 120 degrees of freedom
## (3 observations deleted due to missingness)
## Multiple R-squared: 0.5947, Adjusted R-squared: 0.5812
## F-statistic: 44.02 on 4 and 120 DF, p-value: < 2.2e-16
## [1] 422.0737
##
## Call:
## lm(formula = Subplot_mean_Asat ~ mean_vai, data = Asat_VAI_no2018)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.5681 -0.8240 0.0183 0.7466 3.1543
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 12.1599 0.7386 16.464 < 2e-16 ***
## mean_vai -1.0293 0.1222 -8.424 4.37e-13 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.253 on 93 degrees of freedom
## (1 observation deleted due to missingness)
## Multiple R-squared: 0.4328, Adjusted R-squared: 0.4267
## F-statistic: 70.97 on 1 and 93 DF, p-value: 4.368e-13
## `geom_smooth()` using formula 'y ~ x'
## `geom_smooth()` using formula 'y ~ x'
## `geom_smooth()` using formula 'y ~ x'
| Subplot_mean_Asat | |||
|---|---|---|---|
| Predictors | Estimates | CI | p |
| (Intercept) | -1.27 | -5.16 – 2.61 | 0.517 |
| mean vai | 0.66 | 0.10 – 1.23 | 0.022 |
| Year [2019] | 8.31 | 3.47 – 13.14 | 0.001 |
| Year [2020] | 9.95 | 5.79 – 14.11 | <0.001 |
| Year [2021] | 13.52 | 9.46 – 17.58 | <0.001 |
| mean vai * Year [2019] | -0.89 | -1.65 – -0.13 | 0.022 |
| mean vai * Year [2020] | -1.11 | -1.74 – -0.48 | 0.001 |
| mean vai * Year [2021] | -1.66 | -2.28 – -1.04 | <0.001 |
| Random Effects | |||
| σ2 | 1.16 | ||
| τ00 Replicate | 0.50 | ||
| ICC | 0.30 | ||
| N Replicate | 4 | ||
| Observations | 125 | ||
| Marginal R2 / Conditional R2 | 0.562 / 0.693 | ||
## $emmeans
## mean_vai Year emmean SE df lower.CL upper.CL
## 6.13 2018 2.78 0.437 5.81 1.71 3.86
## 6.13 2019 5.63 0.405 4.36 4.55 6.72
## 6.13 2020 5.94 0.400 4.18 4.85 7.03
## 6.13 2021 6.10 0.407 4.46 5.01 7.18
##
## Degrees-of-freedom method: kenward-roger
## Confidence level used: 0.95
##
## $contrasts
## contrast estimate SE df t.ratio
## 6.13197934798867 2018 - 6.13197934798867 2019 -2.849 0.333 116 -8.569
## 6.13197934798867 2018 - 6.13197934798867 2020 -3.157 0.321 115 -9.849
## 6.13197934798867 2018 - 6.13197934798867 2021 -3.313 0.336 116 -9.849
## 6.13197934798867 2019 - 6.13197934798867 2020 -0.307 0.277 114 -1.110
## 6.13197934798867 2019 - 6.13197934798867 2021 -0.464 0.284 114 -1.636
## 6.13197934798867 2020 - 6.13197934798867 2021 -0.157 0.281 114 -0.558
## p.value
## <.0001
## <.0001
## <.0001
## 0.6840
## 0.3626
## 0.9441
##
## Degrees-of-freedom method: kenward-roger
## P value adjustment: tukey method for comparing a family of 4 estimates
## # A tibble: 6 x 8
## # Groups: Year [1]
## Year Subplot Subplot_mean_As~ Subplot_mean_Co~ disturbance_sev~ treatment
## <fct> <chr> <dbl> <dbl> <fct> <fct>
## 1 2018 A01E 2.12 0.0246 85 B
## 2 2018 A01W 4.11 0.0518 85 T
## 3 2018 A02E 2.38 0.0406 45 T
## 4 2018 A02W 3.72 0.0444 45 B
## 5 2018 A03E 2.89 0.0336 65 B
## 6 2018 A03W 2.61 0.0276 65 T
## # ... with 2 more variables: Replicate <fct>, mean_vai <dbl>
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: Subplot_mean_Asat ~ mean_vai * pp + (1 | Replicate)
## Data: Asat_VAI
##
## REML criterion at convergence: 394.6
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.4098 -0.6029 -0.1317 0.6211 2.5101
##
## Random effects:
## Groups Name Variance Std.Dev.
## Replicate (Intercept) 0.3955 0.6289
## Residual 1.2733 1.1284
## Number of obs: 125, groups: Replicate, 4
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 10.4488 0.8671 52.3193 12.050 < 2e-16 ***
## mean_vai -0.7404 0.1345 115.4827 -5.503 2.28e-07 ***
## pppre -11.2598 2.0082 118.4517 -5.607 1.37e-07 ***
## mean_vai:pppre 1.3341 0.3009 118.1543 4.434 2.08e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) mean_v pppre
## mean_vai -0.922
## pppre -0.188 0.195
## mean_v:pppr 0.229 -0.247 -0.992
## `geom_smooth()` using formula 'y ~ x'
##
## Call:
## lm(formula = Subplot_mean_Asat ~ mean_vai * pp, data = Asat_VAI)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.5681 -0.8294 -0.0027 0.7517 3.1543
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 12.1599 0.7175 16.947 < 2e-16 ***
## mean_vai -1.0293 0.1187 -8.672 2.30e-14 ***
## pppre -10.3243 2.1484 -4.806 4.47e-06 ***
## mean_vai:pppre 1.2291 0.3231 3.804 0.000224 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.217 on 121 degrees of freedom
## (3 observations deleted due to missingness)
## Multiple R-squared: 0.6248, Adjusted R-squared: 0.6155
## F-statistic: 67.15 on 3 and 121 DF, p-value: < 2.2e-16
| Subplot_mean_Asat | |||
|---|---|---|---|
| Predictors | Estimates | CI | p |
| (Intercept) | 10.45 | 8.73 – 12.17 | <0.001 |
| mean vai | -0.74 | -1.01 – -0.47 | <0.001 |
| pp [pre] | -11.26 | -15.24 – -7.28 | <0.001 |
| mean vai * pp [pre] | 1.33 | 0.74 – 1.93 | <0.001 |
| Random Effects | |||
| σ2 | 1.27 | ||
| τ00 Replicate | 0.40 | ||
| ICC | 0.24 | ||
| N Replicate | 4 | ||
| Observations | 125 | ||
| Marginal R2 / Conditional R2 | 0.549 / 0.656 | ||
## `geom_smooth()` using formula 'y ~ x'
Both models including the random effect of replicate (Model 1 with no interactions, Model 2 with VAI:year interaction) resulted in singular fits. Basically the variance estimate for gs due to replicate is so small that it computes as zero, resulting in a singular fit. This may be due to the small (< 5, the generally agreed upon safe minimum) number of random effect levels for replicate.
Opinions on how best to handle this vary, but I am choosing to exclude the random effect term since it does not appear to contribute to the variance. This leaves me with a more parsimonious model that is also, sans random effect, simply a linear model.
I removed the random effect of replicate and tried again with a simpler model just including main effects of VAI and year with their interaction as well. Year was significant (2019, p < 0.05; 2020, p < 0.01; 2021, p < 0.001), but VAI was not a significant main effect (p = 0.22). The interaction of VAI:year was significant for 2020 (p < 0.1) and 2021 (p < 0.05) but not for 2019 (p = 0.17).
Pairwise regression slope comparisons for VAI*Year yielded the following significant contrasts: 2018 and all other years (p < 0.0001) (although main effect was not significant in the linear model) 2021 and all other years (p < 0.0001, 2019-2021; p = 0.0017, 2020-2021; this interaction term was significant in model) 2019 & 2020 not significantly different from one another (also not significant interaction terms in model)
## boundary (singular) fit: see ?isSingular
## Linear mixed model fit by maximum likelihood . t-tests use Satterthwaite's
## method [lmerModLmerTest]
## Formula: Subplot_mean_Cond ~ mean_vai * Year + (1 | Replicate)
## Data: Asat_VAI
##
## AIC BIC logLik deviance df.resid
## -537.8 -509.5 278.9 -557.8 115
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.6120 -0.6926 -0.0756 0.5862 3.5370
##
## Random effects:
## Groups Name Variance Std.Dev.
## Replicate (Intercept) 0.0000000 0.00000
## Residual 0.0006754 0.02599
## Number of obs: 125, groups: Replicate, 4
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) -0.017839 0.043249 125.000000 -0.412 0.6807
## mean_vai 0.008266 0.006417 125.000000 1.288 0.2001
## Year2019 0.133756 0.058679 125.000000 2.279 0.0243 *
## Year2020 0.158369 0.050420 125.000000 3.141 0.0021 **
## Year2021 0.206478 0.048652 125.000000 4.244 4.24e-05 ***
## mean_vai:Year2019 -0.013251 0.009200 125.000000 -1.440 0.1523
## mean_vai:Year2020 -0.014232 0.007629 125.000000 -1.865 0.0645 .
## mean_vai:Year2021 -0.017860 0.007470 125.000000 -2.391 0.0183 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) mean_v Yr2019 Yr2020 Yr2021 m_:Y201 m_:Y2020
## mean_vai -0.994
## Year2019 -0.737 0.733
## Year2020 -0.858 0.853 0.632
## Year2021 -0.889 0.884 0.655 0.763
## mn_v:Yr2019 0.693 -0.698 -0.992 -0.595 -0.616
## mn_v:Yr2020 0.836 -0.841 -0.616 -0.991 -0.743 0.587
## mn_v:Yr2021 0.854 -0.859 -0.629 -0.732 -0.988 0.599 0.723
## convergence code: 0
## boundary (singular) fit: see ?isSingular
## [1] -535.8697
##
## Call:
## lm(formula = Subplot_mean_Cond ~ mean_vai * Year, data = Asat_VAI)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.067879 -0.017999 -0.001964 0.015233 0.091917
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.017839 0.044703 -0.399 0.69057
## mean_vai 0.008266 0.006633 1.246 0.21522
## Year2019 0.133756 0.060652 2.205 0.02939 *
## Year2020 0.158369 0.052115 3.039 0.00293 **
## Year2021 0.206478 0.050288 4.106 7.49e-05 ***
## mean_vai:Year2019 -0.013251 0.009509 -1.393 0.16611
## mean_vai:Year2020 -0.014232 0.007886 -1.805 0.07369 .
## mean_vai:Year2021 -0.017860 0.007721 -2.313 0.02246 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.02686 on 117 degrees of freedom
## (3 observations deleted due to missingness)
## Multiple R-squared: 0.6514, Adjusted R-squared: 0.6305
## F-statistic: 31.23 on 7 and 117 DF, p-value: < 2.2e-16
## [1] -538.2343
##
## Call:
## lm(formula = Subplot_mean_Cond ~ mean_vai + Year, data = Asat_VAI)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.062843 -0.018780 -0.000817 0.013736 0.093153
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.072890 0.017458 4.175 5.67e-05 ***
## mean_vai -0.005279 0.002499 -2.112 0.0367 *
## Year2019 0.044783 0.007179 6.238 6.90e-09 ***
## Year2020 0.063389 0.007014 9.038 3.34e-15 ***
## Year2021 0.091137 0.007329 12.435 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.02713 on 120 degrees of freedom
## (3 observations deleted due to missingness)
## Multiple R-squared: 0.6353, Adjusted R-squared: 0.6232
## F-statistic: 52.27 on 4 and 120 DF, p-value: < 2.2e-16
## [1] -539.4579
## `geom_smooth()` using formula 'y ~ x'
| Subplot_mean_Cond | |||
|---|---|---|---|
| Predictors | Estimates | CI | p |
| (Intercept) | -0.02 | -0.11 – 0.07 | 0.691 |
| mean vai | 0.01 | -0.00 – 0.02 | 0.215 |
| Year [2019] | 0.13 | 0.01 – 0.25 | 0.029 |
| Year [2020] | 0.16 | 0.06 – 0.26 | 0.003 |
| Year [2021] | 0.21 | 0.11 – 0.31 | <0.001 |
| mean vai * Year [2019] | -0.01 | -0.03 – 0.01 | 0.166 |
| mean vai * Year [2020] | -0.01 | -0.03 – 0.00 | 0.074 |
| mean vai * Year [2021] | -0.02 | -0.03 – -0.00 | 0.022 |
| Observations | 125 | ||
| R2 / R2 adjusted | 0.651 / 0.631 | ||
##
## Call:
## lm(formula = Subplot_mean_Cond ~ mean_vai + mean_vai * Year,
## data = Asat_VAI_noNAs)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.067879 -0.017999 -0.001964 0.015233 0.091917
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.017839 0.044703 -0.399 0.69057
## mean_vai 0.008266 0.006633 1.246 0.21522
## Year2019 0.133756 0.060652 2.205 0.02939 *
## Year2020 0.158369 0.052115 3.039 0.00293 **
## Year2021 0.206478 0.050288 4.106 7.49e-05 ***
## mean_vai:Year2019 -0.013251 0.009509 -1.393 0.16611
## mean_vai:Year2020 -0.014232 0.007886 -1.805 0.07369 .
## mean_vai:Year2021 -0.017860 0.007721 -2.313 0.02246 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.02686 on 117 degrees of freedom
## Multiple R-squared: 0.6514, Adjusted R-squared: 0.6305
## F-statistic: 31.23 on 7 and 117 DF, p-value: < 2.2e-16
## $emmeans
## mean_vai Year emmean SE df lower.CL upper.CL
## 6.13 2018 0.0328 0.00618 117 0.0206 0.0451
## 6.13 2019 0.0853 0.00494 117 0.0756 0.0951
## 6.13 2020 0.1039 0.00475 117 0.0945 0.1134
## 6.13 2021 0.1298 0.00504 117 0.1198 0.1398
##
## Confidence level used: 0.95
##
## $contrasts
## contrast estimate SE df t.ratio
## 6.13197934798867 2018 - 6.13197934798867 2019 -0.0525 0.00791 117 -6.636
## 6.13197934798867 2018 - 6.13197934798867 2020 -0.0711 0.00780 117 -9.120
## 6.13197934798867 2018 - 6.13197934798867 2021 -0.0970 0.00797 117 -12.159
## 6.13197934798867 2019 - 6.13197934798867 2020 -0.0186 0.00686 117 -2.712
## 6.13197934798867 2019 - 6.13197934798867 2021 -0.0445 0.00706 117 -6.297
## 6.13197934798867 2020 - 6.13197934798867 2021 -0.0259 0.00693 117 -3.733
## p.value
## <.0001
## <.0001
## <.0001
## 0.0381
## <.0001
## 0.0017
##
## P value adjustment: tukey method for comparing a family of 4 estimates
Note: I am using untransformed (raw) LMA in this analysis since there is no requirement for normally distributed response variables for a linear mixed effects model.
No significant main effects of year or VAI, and no significant interactions at alpha = 0.1.
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: mean_lma ~ mean_vai * Year + (1 | Replicate)
## Data: LMA_VAI
##
## REML criterion at convergence: 946.2
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.5422 -0.4279 -0.0732 0.2996 3.5701
##
## Random effects:
## Groups Name Variance Std.Dev.
## Replicate (Intercept) 218.4 14.78
## Residual 137.6 11.73
## Number of obs: 125, groups: Replicate, 4
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 64.049 22.370 87.383 2.863 0.00525 **
## mean_vai -3.934 3.131 115.056 -1.257 0.21143
## Year2019 -7.952 26.541 113.965 -0.300 0.76501
## Year2020 15.776 22.838 113.996 0.691 0.49112
## Year2021 8.096 22.320 114.200 0.363 0.71748
## mean_vai:Year2019 1.646 4.159 113.953 0.396 0.69307
## mean_vai:Year2020 -2.263 3.450 113.966 -0.656 0.51316
## mean_vai:Year2021 -1.486 3.406 114.100 -0.436 0.66342
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) mean_v Yr2019 Yr2020 Yr2021 m_:Y201 m_:Y2020
## mean_vai -0.939
## Year2019 -0.657 0.693
## Year2020 -0.774 0.816 0.632
## Year2021 -0.826 0.870 0.650 0.760
## mn_v:Yr2019 0.606 -0.646 -0.991 -0.592 -0.606
## mn_v:Yr2020 0.747 -0.796 -0.616 -0.990 -0.738 0.585
## mn_v:Yr2021 0.786 -0.837 -0.627 -0.732 -0.988 0.593 0.720
| mean_lma | |||
|---|---|---|---|
| Predictors | Estimates | CI | p |
| (Intercept) | 64.05 | 19.74 – 108.36 | 0.005 |
| mean vai | -3.93 | -10.14 – 2.27 | 0.211 |
| Year [2019] | -7.95 | -60.53 – 44.62 | 0.765 |
| Year [2020] | 15.78 | -29.46 – 61.01 | 0.491 |
| Year [2021] | 8.10 | -36.12 – 52.31 | 0.717 |
| mean vai * Year [2019] | 1.65 | -6.59 – 9.88 | 0.693 |
| mean vai * Year [2020] | -2.26 | -9.10 – 4.57 | 0.513 |
| mean vai * Year [2021] | -1.49 | -8.23 – 5.26 | 0.663 |
| Random Effects | |||
| σ2 | 137.59 | ||
| τ00 Replicate | 218.41 | ||
| ICC | 0.61 | ||
| N Replicate | 4 | ||
| Observations | 125 | ||
| Marginal R2 / Conditional R2 | 0.076 / 0.643 | ||
Significant main effects for VAI (p < 0.05), Year (2019, p < 0.01; 2020, p < 0.1; 2021, ns). Significant interactions for mean VAI and year with 2019 and 2020 (p < 0.05) but not 2021 (p = 0.54). Replicate accounts for 0.44% of variance.
Posthoc pairwise comparison of slopes for interaction terms found: 2019 significantly different from other years (and significant in model) (p < 0.0001) No other years are significantly different from one another, but both 2018 and 2020 had significant terms in model, so can show main effect line in graph.
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: mean_rendvi ~ mean_vai * Year + (1 | Replicate)
## Data: RENDVI_VAI
##
## REML criterion at convergence: -466.7
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -3.2367 -0.6414 -0.0509 0.5574 2.4822
##
## Random effects:
## Groups Name Variance Std.Dev.
## Replicate (Intercept) 3.789e-06 0.001947
## Residual 8.602e-04 0.029328
## Number of obs: 125, groups: Replicate, 4
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 0.499417 0.049115 86.179088 10.168 < 2e-16 ***
## mean_vai -0.018176 0.007286 88.715163 -2.495 0.01446 *
## Year2019 -0.209236 0.066237 114.369800 -3.159 0.00203 **
## Year2020 -0.106459 0.056917 114.631969 -1.870 0.06397 .
## Year2021 -0.031000 0.054975 116.930926 -0.564 0.57391
## mean_vai:Year2019 0.027066 0.010384 114.240773 2.606 0.01037 *
## mean_vai:Year2020 0.017163 0.008611 114.128912 1.993 0.04865 *
## mean_vai:Year2021 0.005149 0.008437 116.278607 0.610 0.54288
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) mean_v Yr2019 Yr2020 Yr2021 m_:Y201 m_:Y2020
## mean_vai -0.994
## Year2019 -0.734 0.729
## Year2020 -0.855 0.850 0.632
## Year2021 -0.887 0.882 0.655 0.762
## mn_v:Yr2019 0.689 -0.693 -0.992 -0.594 -0.616
## mn_v:Yr2020 0.832 -0.837 -0.616 -0.991 -0.743 0.587
## mn_v:Yr2021 0.852 -0.857 -0.629 -0.732 -0.988 0.599 0.722
## [1] -444.7205
## boundary (singular) fit: see ?isSingular
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: mean_rendvi ~ mean_vai + Year + (1 | Replicate)
## Data: RENDVI_VAI
##
## REML criterion at convergence: -480.3
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -3.2074 -0.5734 -0.0876 0.6102 2.3868
##
## Random effects:
## Groups Name Variance Std.Dev.
## Replicate (Intercept) 5.015e-21 7.082e-11
## Residual 9.165e-04 3.027e-02
## Number of obs: 125, groups: Replicate, 4
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 0.421578 0.019483 120.000000 21.638 < 2e-16 ***
## mean_vai -0.006554 0.002789 120.000000 -2.350 0.0204 *
## Year2019 -0.039097 0.008012 120.000000 -4.880 3.3e-06 ***
## Year2020 0.005634 0.007827 120.000000 0.720 0.4730
## Year2021 0.009921 0.008179 120.000000 1.213 0.2275
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) mean_v Yr2019 Yr2020
## mean_vai -0.959
## Year2019 -0.437 0.252
## Year2020 -0.377 0.184 0.534
## Year2021 -0.517 0.339 0.552 0.540
## convergence code: 0
## boundary (singular) fit: see ?isSingular
## [1] -465.3566
##
## Call:
## lm(formula = mean_rendvi ~ mean_vai + Year, data = RENDVI_VAI)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.097100 -0.017358 -0.002653 0.018474 0.072258
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.421578 0.019483 21.638 < 2e-16 ***
## mean_vai -0.006554 0.002789 -2.350 0.0204 *
## Year2019 -0.039097 0.008012 -4.880 3.3e-06 ***
## Year2020 0.005634 0.007827 0.720 0.4730
## Year2021 0.009921 0.008179 1.213 0.2275
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.03027 on 120 degrees of freedom
## Multiple R-squared: 0.3227, Adjusted R-squared: 0.3001
## F-statistic: 14.29 on 4 and 120 DF, p-value: 1.432e-09
## [1] -512.0259
| mean_rendvi | |||
|---|---|---|---|
| Predictors | Estimates | CI | p |
| (Intercept) | 0.50 | 0.40 – 0.60 | <0.001 |
| mean vai | -0.02 | -0.03 – -0.00 | 0.014 |
| Year [2019] | -0.21 | -0.34 – -0.08 | 0.002 |
| Year [2020] | -0.11 | -0.22 – 0.01 | 0.064 |
| Year [2021] | -0.03 | -0.14 – 0.08 | 0.574 |
| mean vai * Year [2019] | 0.03 | 0.01 – 0.05 | 0.010 |
| mean vai * Year [2020] | 0.02 | 0.00 – 0.03 | 0.049 |
| mean vai * Year [2021] | 0.01 | -0.01 – 0.02 | 0.543 |
| Random Effects | |||
| σ2 | 0.00 | ||
| τ00 Replicate | 0.00 | ||
| ICC | 0.00 | ||
| N Replicate | 4 | ||
| Observations | 125 | ||
| Marginal R2 / Conditional R2 | 0.366 / 0.369 | ||
## NOTE: mean_vai is not a high-order term in the model
##
## mean_vai effect
## mean_vai
## 3 4 5 7 8
## 0.3950820 0.3893303 0.3835786 0.3720751 0.3663233
##
## Lower 95 Percent Confidence Limits
## mean_vai
## 3 4 5 7 8
## 0.3745657 0.3745582 0.3740761 0.3644053 0.3538625
##
## Upper 95 Percent Confidence Limits
## mean_vai
## 3 4 5 7 8
## 0.4155983 0.4041023 0.3930810 0.3797449 0.3787842
## `geom_smooth()` using formula 'y ~ x'
## NOTE: Year is not a high-order term in the model
##
## Year effect
## Year
## 2018 2019 2020 2021
## 0.3879629 0.3446967 0.3867455 0.3885350
##
## Lower 95 Percent Confidence Limits
## Year
## 2018 2019 2020 2021
## 0.3744253 0.3338317 0.3762880 0.3774563
##
## Upper 95 Percent Confidence Limits
## Year
## 2018 2019 2020 2021
## 0.4015005 0.3555617 0.3972031 0.3996138
## $emmeans
## mean_vai Year emmean SE df lower.CL upper.CL
## 6.13 2018 0.388 0.00699 40.8 0.374 0.402
## 6.13 2019 0.345 0.00551 28.3 0.333 0.356
## 6.13 2020 0.387 0.00528 26.1 0.376 0.398
## 6.13 2021 0.389 0.00563 29.3 0.377 0.400
##
## Degrees-of-freedom method: kenward-roger
## Confidence level used: 0.95
##
## $contrasts
## contrast estimate SE df t.ratio
## 6.13197934798867 2018 - 6.13197934798867 2019 0.043266 0.00888 113 4.873
## 6.13197934798867 2018 - 6.13197934798867 2020 0.001217 0.00863 117 0.141
## 6.13197934798867 2018 - 6.13197934798867 2021 -0.000572 0.00897 111 -0.064
## 6.13197934798867 2019 - 6.13197934798867 2020 -0.042049 0.00751 115 -5.597
## 6.13197934798867 2019 - 6.13197934798867 2021 -0.043838 0.00771 114 -5.684
## 6.13197934798867 2020 - 6.13197934798867 2021 -0.001790 0.00760 116 -0.235
## p.value
## <.0001
## 0.9990
## 0.9999
## <.0001
## <.0001
## 0.9954
##
## Degrees-of-freedom method: kenward-roger
## P value adjustment: tukey method for comparing a family of 4 estimates
In part one of this analysis, the interaction of disturbance severity and year significantly related to subplot mean VAI, with 65% and 85% disturbance severity levels having significantly different mean VAI from control in 2021 in a linear mixed effects model. This result indicates the lagged impact of disturbance on canopy VAI, with significant disturbance effects only manifesting at three years post disturbance. Additionally, replicate (as a random effect) was found to contribute more than half of the total variance (53.5%), indicating a strong influence of landform type on variation in VAI across FoRTE.
In the second part of this analysis, subplot mean leaf traits were examined via a series of linear mixed effects models to determine whether they related to disturbance-driven changes in VAI in interaction with time (Year). Note that the interaction with Year was retained in this modeling effort because in all cases in O2.1, these subplot mean leaf functional traits had been found to significantly relate to Year, with interactions between disturbance severity and year also significant. Leaf light-saturated rate of photosynthesis and reNDVI were found to significantly relate to both VAI (p < 0.05) and year (Asat: p < 0.001; reNDVI: p < 0.1), with significant interactions between VAI and year (p < 0.05). In contrast, leaf stomatal conductance was not found to significantly relate to VAI, but did have a significant relationship with year (p < 0.05) and the interaction of year and VAI (p < 0.1). Subplot mean leaf mass per area did not have any significant relationships to year, VAI, or their interaction in this analysis.
Taken together, these results indicate that disturbance did indeed impact canopy VAI, which in turn impacted subplot mean leaf functional traits in three of four tested relationships, modulated by interannual climatic variation (as year).
O2.3: Determine whether subcanopy CWM leaf functional traits correlate with ANPPw of the subcanopy stratum in the first three years following experimental disturbance.
H2.3: Immediately following disturbance, when impacts to the structure and function of the canopy are just beginning to manifest, subcanopy CWM leaf functional traits will not respond to disturbance. However, as the ecosystem enters the more dynamic period in years 2-3 following disturbance, higher subcanopy ANNPw will be observed at higher disturbance severities, reflecting a shift in CWM functional traits toward high light acclimation.
Analysis O2.3: To address O2.3, asking whether subcanopy ANPPw is predicted by community weighted mean leaf functional traits, I will again use linear mixed effects models. In these models, the outcome variable will be annual woody NPP for each subplot, and the predictors will be the continuous variables of CWM functional traits (those found to vary significantly with disturbance in the analysis for O2.1) and disturbance severity, and the random effect of year. Since I hypothesize an interaction between severity and year such that the impacts of disturbance will not initially manifest in changed subcanopy NPP, I also include this interaction term. These models will follow the form provided in Equation 2.4 below:
Y_i= β_0+ β_1 〖CWM〗_i+ β_2 〖Sev〗_i+ β_3 〖CWM:Sev〗_i+〖Year〗_i+Sev:〖Year〗_i+〖 ε〗_i (2.4)
Where Yi is the ith subplot’s yearly ANPPw, beta terms are coefficients, CWMi is the leaf functional trait (Asat, NDVI, LMA, or gs), Sevi is disturbance severity, CWM:Sevi is the fixed effect interaction between the CWM functional trait and severity, Yeari is a random effect term for year (2018-2021), Sev:Yeari is the random effect interaction of disturbance severity with year, and epsilon is the residual error term.
In an identical analysis to O2.1, Subcanopy ANPPw (log transformed) was found to significantly relate to both year (p < 0.001) and disturbance severity:year interaction (p < 0.001). In both 2020 and 2021 (but not in 2019), all three severities (45, 65, and 85%) were significantly different from controls. In 2019 there were no significant differences with control at any severity level.
I then used a linear mixed effects model to test the relationship between canopy VAI (using 2019-2021 VAI data) and subcanopy ANPPw, and found no significant relationship of VAI, year, or their interaction to subcanopy ANPPw.
##
## Error: Replicate
## Df Sum Sq Mean Sq F value Pr(>F)
## Residuals 3 25.23 8.411
##
## Error: Replicate:disturbance_severity
## Df Sum Sq Mean Sq F value Pr(>F)
## disturbance_severity 3 27.26 9.087 2.127 0.167
## Residuals 9 38.46 4.273
##
## Error: Replicate:disturbance_severity:treatment
## Df Sum Sq Mean Sq F value Pr(>F)
## treatment 1 0.051 0.0515 0.022 0.884
## disturbance_severity:treatment 3 2.930 0.9768 0.422 0.740
## Residuals 12 27.754 2.3128
##
## Error: Replicate:disturbance_severity:treatment:Year
## Df Sum Sq Mean Sq F value Pr(>F)
## Year 2 16.540 8.270 28.891 5.81e-09 ***
## disturbance_severity:Year 6 9.983 1.664 5.812 0.00013 ***
## treatment:Year 2 0.108 0.054 0.189 0.82802
## disturbance_severity:treatment:Year 6 0.324 0.054 0.189 0.97862
## Residuals 48 13.740 0.286
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Study: log_NPP ~ disturbance_severity:Year
##
## LSD t Test for log_NPP
##
## Mean Square Error: 0.286
##
## disturbance_severity:Year, means and individual ( 99.9 %) CI
##
## log_NPP std r LCL UCL Min Max
## 0:2019 4.156829 1.4153585 8 3.494102 4.819556 1.449764 5.767295
## 0:2020 3.919425 1.2488055 8 3.256699 4.582152 1.561092 5.480656
## 0:2021 4.118455 1.3422639 8 3.455728 4.781181 2.322380 6.510781
## 45:2019 4.641261 0.9674355 8 3.978534 5.303988 2.622168 5.659274
## 45:2020 5.190118 1.0954201 8 4.527392 5.852845 3.639570 7.062960
## 45:2021 5.385121 1.4116650 8 4.722395 6.047848 2.945035 7.496011
## 65:2019 4.479585 0.8301669 8 3.816858 5.142312 3.626211 5.761293
## 65:2020 5.119553 1.1235038 8 4.456826 5.782279 3.624335 6.771796
## 65:2021 5.804434 1.1982912 8 5.141707 6.467161 3.885360 7.791174
## 85:2019 4.397613 1.0426281 8 3.734887 5.060340 2.951458 6.014036
## 85:2020 5.678220 1.0000049 8 5.015493 6.340947 4.126829 6.496816
## 85:2021 6.427568 0.7389545 8 5.764841 7.090295 5.285451 7.425789
##
## Alpha: 0.001 ; DF Error: 48
## Critical Value of t: 3.505068
##
## least Significant Difference: 0.9372371
##
## Treatments with the same letter are not significantly different.
##
## log_NPP groups
## 85:2021 6.427568 a
## 65:2021 5.804434 ab
## 85:2020 5.678220 ab
## 45:2021 5.385121 bc
## 45:2020 5.190118 bcd
## 65:2020 5.119553 bcd
## 45:2019 4.641261 cde
## 65:2019 4.479585 cde
## 85:2019 4.397613 de
## 0:2019 4.156829 e
## 0:2021 4.118455 e
## 0:2020 3.919425 e
Finally, I tested subcanopy leaf functional traits for their relationships with subcanopy ANPPw. I began with a series of simple bivariate models (using log subcanopy ANPPw as the outcome) to test each leaf functional trait independently.
## Warning: Removed 1 rows containing missing values (geom_point).
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: Subcanopy_NPP ~ mean_vai * Year + (1 | Replicate)
## Data: npp_vai
##
## REML criterion at convergence: 1323.9
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -1.6450 -0.5270 -0.1109 0.3075 4.8129
##
## Random effects:
## Groups Name Variance Std.Dev.
## Replicate (Intercept) 50362 224.4
## Residual 124640 353.0
## Number of obs: 95, groups: Replicate, 4
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 648.181 596.175 85.674 1.087 0.280
## mean_vai -88.581 97.582 88.950 -0.908 0.366
## Year2020 -204.832 646.231 85.946 -0.317 0.752
## Year2021 381.033 626.779 86.566 0.608 0.545
## mean_vai:Year2020 60.374 106.154 85.993 0.569 0.571
## mean_vai:Year2021 -4.679 104.906 86.513 -0.045 0.965
##
## Correlation of Fixed Effects:
## (Intr) mean_v Yr2020 Yr2021 m_:Y2020
## mean_vai -0.976
## Year2020 -0.771 0.778
## Year2021 -0.835 0.843 0.726
## mn_v:Yr2020 0.781 -0.799 -0.990 -0.731
## mn_v:Yr2021 0.822 -0.841 -0.715 -0.990 0.731
| Subcanopy_NPP | |||
|---|---|---|---|
| Predictors | Estimates | CI | p |
| (Intercept) | 648.18 | -536.78 – 1833.14 | 0.280 |
| mean vai | -88.58 | -282.54 – 105.37 | 0.367 |
| Year [2020] | -204.83 | -1489.29 – 1079.62 | 0.752 |
| Year [2021] | 381.03 | -864.76 – 1626.82 | 0.545 |
| mean vai * Year [2020] | 60.37 | -150.62 – 271.37 | 0.571 |
| mean vai * Year [2021] | -4.68 | -213.19 – 203.83 | 0.965 |
| Random Effects | |||
| σ2 | 124639.61 | ||
| τ00 Replicate | 50362.01 | ||
| ICC | 0.29 | ||
| N Replicate | 4 | ||
| Observations | 95 | ||
| Marginal R2 / Conditional R2 | 0.148 / 0.393 | ||
##
## Call:
## lm(formula = log_NPP ~ Subplot_mean_Asat, data = traits_npp)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.5976 -0.7264 0.0725 0.9462 2.7076
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 5.44314 0.50581 10.761 <2e-16 ***
## Subplot_mean_Asat -0.08252 0.08053 -1.025 0.308
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.307 on 94 degrees of freedom
## Multiple R-squared: 0.01105, Adjusted R-squared: 0.0005266
## F-statistic: 1.05 on 1 and 94 DF, p-value: 0.3081
| log_NPP | |||
|---|---|---|---|
| Predictors | Estimates | CI | p |
| (Intercept) | 5.44 | 4.44 – 6.45 | <0.001 |
| Subplot mean Asat | -0.08 | -0.24 – 0.08 | 0.308 |
| Observations | 96 | ||
| R2 / R2 adjusted | 0.011 / 0.001 | ||
##
## Call:
## lm(formula = log_NPP ~ Subplot_mean_Cond, data = traits_npp)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.3618 -0.8765 0.0721 0.9568 2.9088
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.3971 0.4266 10.307 <2e-16 ***
## Subplot_mean_Cond 5.0518 3.7503 1.347 0.181
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.302 on 94 degrees of freedom
## Multiple R-squared: 0.01894, Adjusted R-squared: 0.008501
## F-statistic: 1.815 on 1 and 94 DF, p-value: 0.1812
| log_NPP | |||
|---|---|---|---|
| Predictors | Estimates | CI | p |
| (Intercept) | 4.40 | 3.55 – 5.24 | <0.001 |
| Subplot mean Cond | 5.05 | -2.39 – 12.50 | 0.181 |
| Observations | 96 | ||
| R2 / R2 adjusted | 0.019 / 0.009 | ||
##
## Call:
## lm(formula = log_NPP ~ trans_lma, data = traits_npp_lmatrans)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.0386 -0.5830 0.0355 0.9576 2.4560
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.7312 0.3718 10.035 < 2e-16 ***
## trans_lma 42.3635 12.2228 3.466 0.000798 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.238 on 94 degrees of freedom
## Multiple R-squared: 0.1133, Adjusted R-squared: 0.1039
## F-statistic: 12.01 on 1 and 94 DF, p-value: 0.0007982
| log_NPP | |||
|---|---|---|---|
| Predictors | Estimates | CI | p |
| (Intercept) | 3.73 | 2.99 – 4.47 | <0.001 |
| trans lma | 42.36 | 18.09 – 66.63 | 0.001 |
| Observations | 96 | ||
| R2 / R2 adjusted | 0.113 / 0.104 | ||
##
## Call:
## lm(formula = log_NPP ~ mean_rendvi, data = traits_npp)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.7373 -0.7102 0.2024 0.8711 2.4495
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.1841 1.2252 0.150 0.880869
## mean_rendvi 12.7199 3.2579 3.904 0.000178 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.219 on 94 degrees of freedom
## Multiple R-squared: 0.1395, Adjusted R-squared: 0.1304
## F-statistic: 15.24 on 1 and 94 DF, p-value: 0.0001777
| log_NPP | |||
|---|---|---|---|
| Predictors | Estimates | CI | p |
| (Intercept) | 0.18 | -2.25 – 2.62 | 0.881 |
| mean rendvi | 12.72 | 6.25 – 19.19 | <0.001 |
| Observations | 96 | ||
| R2 / R2 adjusted | 0.140 / 0.130 | ||
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: Subcanopy_NPP ~ Subplot_mean_Asat + Subplot_mean_Cond + mean_lma +
## mean_rendvi + (1 | Replicate)
## Data: traits_npp
##
## REML criterion at convergence: 1347.9
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -1.6328 -0.4931 -0.1906 0.2084 5.0488
##
## Random effects:
## Groups Name Variance Std.Dev.
## Replicate (Intercept) 12442 111.5
## Residual 130667 361.5
## Number of obs: 96, groups: Replicate, 4
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) -914.641 394.972 85.637 -2.316 0.0230 *
## Subplot_mean_Asat -25.900 55.795 88.187 -0.464 0.6436
## Subplot_mean_Cond 1545.669 1826.466 90.870 0.846 0.3996
## mean_lma -2.076 3.356 80.847 -0.619 0.5379
## mean_rendvi 3445.660 1124.514 87.649 3.064 0.0029 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) Sbp__A Sbp__C men_lm
## Sbplt_mn_As -0.012
## Sbplt_mn_Cn 0.136 -0.757
## mean_lma -0.215 -0.722 0.510
## mean_rendvi -0.893 -0.194 -0.159 0.207
## [1] 1363.153
## [1] 1370.895
## [1] 1365.433
## [1] 1378.358
## [1] 1387.511
##
## Call:
## lm(formula = log_NPP ~ Subplot_mean_Asat + Subplot_mean_Cond +
## mean_rendvi + trans_lma + Replicate, data = traits_npp_lmatrans)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.1158 -0.7169 0.1768 0.6788 2.0673
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.55759 1.82005 0.306 0.76005
## Subplot_mean_Asat 0.14328 0.19793 0.724 0.47107
## Subplot_mean_Cond -2.95473 5.94088 -0.497 0.62018
## mean_rendvi 11.59065 3.62176 3.200 0.00191 **
## trans_lma 2.90853 33.67950 0.086 0.93138
## ReplicateB -0.03784 0.36445 -0.104 0.91754
## ReplicateC -0.78643 0.51918 -1.515 0.13342
## ReplicateD -1.50730 0.70671 -2.133 0.03572 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.143 on 88 degrees of freedom
## Multiple R-squared: 0.2919, Adjusted R-squared: 0.2355
## F-statistic: 5.182 on 7 and 88 DF, p-value: 5.704e-05
## [1] 307.7601
## [1] 309.8531
## Loading required package: MASS
##
## Attaching package: 'MASS'
## The following object is masked from 'package:dplyr':
##
## select
## Start: AIC=33.32
## log_NPP ~ Subplot_mean_Asat + Subplot_mean_Cond + mean_rendvi +
## trans_lma + Replicate
##
## Df Sum of Sq RSS AIC
## - trans_lma 1 0.0097 115.00 31.332
## - Subplot_mean_Cond 1 0.3232 115.31 31.593
## - Subplot_mean_Asat 1 0.6847 115.67 31.894
## <none> 114.98 33.324
## - Replicate 3 8.3146 123.30 34.026
## - mean_rendvi 1 13.3825 128.37 41.893
##
## Step: AIC=31.33
## log_NPP ~ Subplot_mean_Asat + Subplot_mean_Cond + mean_rendvi +
## Replicate
##
## Df Sum of Sq RSS AIC
## - Subplot_mean_Cond 1 0.3383 115.33 29.614
## - Subplot_mean_Asat 1 0.9901 115.98 30.155
## <none> 115.00 31.332
## + trans_lma 1 0.0097 114.98 33.324
## - Replicate 3 14.3344 129.33 36.610
## - mean_rendvi 1 14.4993 129.49 40.732
##
## Step: AIC=29.61
## log_NPP ~ Subplot_mean_Asat + mean_rendvi + Replicate
##
## Df Sum of Sq RSS AIC
## - Subplot_mean_Asat 1 0.6848 116.02 28.182
## <none> 115.33 29.614
## + Subplot_mean_Cond 1 0.3383 115.00 31.332
## + trans_lma 1 0.0248 115.31 31.593
## - Replicate 3 16.0572 131.39 36.127
## - mean_rendvi 1 14.2995 129.63 38.834
##
## Step: AIC=28.18
## log_NPP ~ mean_rendvi + Replicate
##
## Df Sum of Sq RSS AIC
## <none> 116.02 28.182
## + Subplot_mean_Asat 1 0.6848 115.33 29.614
## + trans_lma 1 0.3374 115.68 29.903
## + Subplot_mean_Cond 1 0.0330 115.98 30.155
## - Replicate 3 23.7033 139.72 40.029
## - mean_rendvi 1 21.1304 137.15 42.245
##
## Call:
## lm(formula = log_NPP ~ mean_rendvi + Replicate, data = traits_npp_lmatrans)
##
## Coefficients:
## (Intercept) mean_rendvi ReplicateB ReplicateC ReplicateD
## 0.802097 12.295984 0.003099 -0.656847 -1.183795
##
## Call:
## lm(formula = log_NPP ~ mean_rendvi + Replicate, data = traits_npp)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.1848 -0.6348 0.1248 0.6731 2.0883
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.802097 1.160101 0.691 0.491073
## mean_rendvi 12.295984 3.020313 4.071 9.96e-05 ***
## ReplicateB 0.003099 0.325981 0.010 0.992437
## ReplicateC -0.656847 0.326249 -2.013 0.047034 *
## ReplicateD -1.183795 0.326085 -3.630 0.000467 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.129 on 91 degrees of freedom
## Multiple R-squared: 0.2855, Adjusted R-squared: 0.2541
## F-statistic: 9.091 on 4 and 91 DF, p-value: 3.181e-06
## [1] 303.5623
##
## Call:
## lm(formula = Subcanopy_NPP ~ Subplot_mean_Asat + Subplot_mean_Cond +
## mean_rendvi + trans_lma + Replicate, data = traits_npp_lmatrans)
##
## Residuals:
## Min 1Q Median 3Q Max
## -596.11 -180.04 -64.92 87.99 1792.14
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -667.21 572.92 -1.165 0.24734
## Subplot_mean_Asat -14.90 62.31 -0.239 0.81156
## Subplot_mean_Cond 1277.21 1870.09 0.683 0.49642
## mean_rendvi 3465.57 1140.07 3.040 0.00312 **
## trans_lma -3890.98 10601.72 -0.367 0.71449
## ReplicateB -249.43 114.72 -2.174 0.03238 *
## ReplicateC -319.61 163.43 -1.956 0.05368 .
## ReplicateD -505.36 222.46 -2.272 0.02554 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 359.8 on 88 degrees of freedom
## Multiple R-squared: 0.2891, Adjusted R-squared: 0.2325
## F-statistic: 5.112 on 7 and 88 DF, p-value: 6.636e-05
## [1] 1414.215
## Start: AIC=1137.69
## Subcanopy_NPP ~ Subplot_mean_Asat + Subplot_mean_Cond + mean_rendvi +
## trans_lma + Replicate
##
## Df Sum of Sq RSS AIC
## - Subplot_mean_Asat 1 7404 11401095 1135.8
## - trans_lma 1 17440 11411131 1135.8
## - Subplot_mean_Cond 1 60392 11454083 1136.2
## <none> 11393691 1137.7
## - Replicate 3 820508 12214198 1138.4
## - mean_rendvi 1 1196387 12590077 1145.3
##
## Step: AIC=1135.75
## Subcanopy_NPP ~ Subplot_mean_Cond + mean_rendvi + trans_lma +
## Replicate
##
## Df Sum of Sq RSS AIC
## - trans_lma 1 10040 11411134 1133.8
## - Subplot_mean_Cond 1 78558 11479652 1134.4
## <none> 11401095 1135.8
## - Replicate 3 816585 12217680 1136.4
## + Subplot_mean_Asat 1 7404 11393691 1137.7
## - mean_rendvi 1 1226771 12627865 1143.6
##
## Step: AIC=1133.83
## Subcanopy_NPP ~ Subplot_mean_Cond + mean_rendvi + Replicate
##
## Df Sum of Sq RSS AIC
## - Subplot_mean_Cond 1 88024 11499159 1132.6
## <none> 11411134 1133.8
## + trans_lma 1 10040 11401095 1135.8
## + Subplot_mean_Asat 1 4 11411131 1135.8
## - mean_rendvi 1 1218237 12629371 1141.6
## - Replicate 3 2450640 13861774 1146.5
##
## Step: AIC=1132.57
## Subcanopy_NPP ~ mean_rendvi + Replicate
##
## Df Sum of Sq RSS AIC
## <none> 11499159 1132.6
## + Subplot_mean_Cond 1 88024 11411134 1133.8
## + Subplot_mean_Asat 1 44135 11455024 1134.2
## + trans_lma 1 19506 11479652 1134.4
## - Replicate 3 2371262 13870421 1144.6
## - mean_rendvi 1 2006666 13505825 1146.0
##
## Call:
## lm(formula = Subcanopy_NPP ~ mean_rendvi + Replicate, data = traits_npp_lmatrans)
##
## Coefficients:
## (Intercept) mean_rendvi ReplicateB ReplicateC ReplicateD
## -885.1 3789.2 -231.5 -268.3 -441.3
##
## Call:
## lm(formula = log_NPP ~ Subplot_mean_Asat + Subplot_mean_Cond +
## mean_rendvi + Replicate, data = traits_npp_lmatrans)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.1123 -0.7179 0.1879 0.6730 2.0708
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.67482 1.20561 0.560 0.57707
## Subplot_mean_Asat 0.13233 0.15117 0.875 0.38373
## Subplot_mean_Cond -2.73702 5.34938 -0.512 0.61016
## mean_rendvi 11.66999 3.48371 3.350 0.00119 **
## ReplicateB -0.05014 0.33361 -0.150 0.88088
## ReplicateC -0.81727 0.37474 -2.181 0.03183 *
## ReplicateD -1.54781 0.52559 -2.945 0.00412 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.137 on 89 degrees of freedom
## Multiple R-squared: 0.2918, Adjusted R-squared: 0.2441
## F-statistic: 6.112 on 6 and 89 DF, p-value: 2.15e-05
## [1] 305.7682
## [1] 307.4234
##
## Call:
## lm(formula = log_NPP ~ Subplot_mean_Asat + mean_rendvi + Replicate,
## data = traits_npp_lmatrans)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.0720 -0.7099 0.1440 0.6443 2.0748
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.82694 1.16358 0.711 0.47912
## Subplot_mean_Asat 0.07721 0.10562 0.731 0.46666
## mean_rendvi 11.22894 3.36151 3.340 0.00122 **
## ReplicateB -0.03047 0.33003 -0.092 0.92664
## ReplicateC -0.76735 0.36032 -2.130 0.03593 *
## ReplicateD -1.41337 0.45332 -3.118 0.00245 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.132 on 90 degrees of freedom
## Multiple R-squared: 0.2897, Adjusted R-squared: 0.2503
## F-statistic: 7.343 on 5 and 90 DF, p-value: 8.226e-06
## [1] 304.0502
## [1] 305.3229
Though disturbance was found to influence both canopy VAI and subcanopy ANPPw, VAI was not in turn found to relate to subcanopy ANPPw. This is likely due to the lagged impact of disturbance on VAI, such that it took three years for effects to start manifesting. This also points to the importance of looking for other mechanisms (beyond canopy structure) to explain the more rapid response of subcanopy ANPPw to disturbance (which was already responding significantly in the second year, before VAI). Cue leaf traits!!
I am still working through model selection for this part of the analysis, but have found some interesting results so far. In the model including all leaf functional traits (Asat, gs, LMA, and reNDVI) AND their respective interactions with year, only LMA*Year emerged as significant. However, in a model with all leaf traits but WITHOUT their interactions with Year, reNDVI emerged as significant at alpha=0.1 (p = 0.06) as well as Year (p < 0.5). In subsequent linear mixed effects models removing insignificant leaf functional trait terms of LMA and Asat, reNDVI’s p value dropped to become significant.
## code from Jeff Atkins for making ridge plots of stem diameter by species. To support claims made about size classes of trees targeted in FoRTE for a Supp Doc.
require(fortedata)
require(ggplot2)
require(ggridges)
## Loading required package: ggridges
## Warning: package 'ggridges' was built under R version 4.0.3
require(viridis)
## Loading required package: viridis
# import data
inv <- fd_inventory()
head(inv)
## # A tibble: 6 x 11
## subplot_id replicate plot subplot date tag species dbh_cm
## <chr> <chr> <int> <chr> <date> <int> <chr> <dbl>
## 1 A01E A 1 E 2018-07-12 2772 POGR4 36.2
## 2 A01E A 1 E 2018-07-12 2773 POGR4 41.6
## 3 A01E A 1 E 2018-07-12 2774 FAGR 10.8
## 4 A01E A 1 E 2018-07-12 2775 FAGR 26.2
## 5 A01E A 1 E 2018-07-12 2776 FAGR 19.5
## 6 A01E A 1 E 2018-07-12 2777 POGR4 26.5
## # ... with 3 more variables: health_status <chr>, canopy_status <chr>,
## # notes <chr>
# make ridge plot
x11 <- ggplot(inv, aes(x = dbh_cm, y = species, fill = as.factor(species))) +
geom_density_ridges_gradient(scale = 3, rel_min_height = 0.01, gradient_lwd = 1.) +
scale_x_continuous(expand = c(0, 0)) +
scale_y_discrete(expand = expand_scale(mult = c(0.01, 0.25))) +
scale_fill_viridis(option = "D", discrete = TRUE, name = "Species Codes") +
labs(
title = 'FoRTE Inventory Data',
subtitle = 'DBH Size [cm] by Species Code')+
xlab("DBH [cm]")+
theme_ridges(font_size = 13, grid = TRUE) +
theme(axis.title.y = element_blank())
## Warning: `expand_scale()` is deprecated; use `expansion()` instead.
x11
## Picking joint bandwidth of 2.15
## percentage of stems >40cm dbh that are aspen and birch:
pogr_ba <- inv %>%
group_by(species) %>%
filter(dbh_cm >= 40.0) %>%
summarise(n = n()) # 180 total stems over 40.0 cm DBH;
## `summarise()` ungrouping output (override with `.groups` argument)
# make ridge plot, girdled vs alive
mor <- fd_mortality()
x12 <- ggplot(mor, aes(y = as.factor(species)))+
geom_density_ridges(aes(x = dbh_cm, fill = paste(species, fate)),
alpha = .8, color = "white", from = 0, to = 80) +
labs(
x = "DBH [cm]",
y = "Species Code",
title = "FoRTE Mortality Comparison") +
scale_y_discrete(expand = c(0, 0)) +
scale_x_continuous(expand = c(0, 0)) +
scale_fill_cyclical(
breaks = c("ACPE kill", "ACPE live"),
labels = c(`ACPE kill` = "Girdled", `ACPE live` = "Living"),
values = c("#ff0000", "#0000ff", "#ff8080", "#8080ff"),
name = "Assignment", guide = "legend"
) +
coord_cartesian(clip = "off") +
theme_ridges(grid = FALSE)
x12
## Picking joint bandwidth of 2.46