Overview:

This is a running presentation of results from Ch. 2 analysis.

Chapter 2 Objectives and Hypotheses: O2.1

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.

O2.1 Analysis Part 1: Leaf Asat & gs

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.

Results

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

O2.1 Analysis Part 2: LMA & Reflectance

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.

Results

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

O2.1 Conclusions

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).

Chapter 2 Objectives and Hypotheses: O2.2

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.

A note on lme4 and modeling for O2.2 and O2.3:

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.

Results: VAI vs. Disturbance Severity:

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

Results: Asat & VAI

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'

Results: gs & VAI:

Mixed effects models for gs:

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.

Linear model for gs:

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

Results: LMA & VAI:

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

Results: reNDVI & VAI:

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

O2.2 Conclusions

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).

Chapter 2 Objectives and Hypotheses: O2.3

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.

Results: Subcanopy ANPPw vs disturbance severity & VAI

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

Results: NPP vs leaf functional traits

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

Conclusions O2.3 (so far…)

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