Impacts of Hemlock Woolly Adelgid After Preventative Treatment in Lincoln, MA 2015-2018

Published

December 9, 2024

Welcome

Relevant packages.

library(tidyverse)
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr     1.1.4     ✔ readr     2.1.5
✔ forcats   1.0.0     ✔ stringr   1.5.1
✔ ggplot2   3.5.1     ✔ tibble    3.2.1
✔ lubridate 1.9.3     ✔ tidyr     1.3.1
✔ purrr     1.0.2     
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(gt)
library(tidyr)
library(dplyr)
library(ggplot2)
library(ggthemes)

Relevant Data.

HWA_fall <- read_csv("HWA_fall_measure.csv")
Rows: 1054 Columns: 14
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr (8): hill.swamp, date, slope, species, crown.class, health, treated, notes
dbl (6): transect, tag, dbh, x.dist, y.dist.absolute, ba

ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
HWA_other_seasons <- read_csv("HWA_other_seasons_measure.csv")
Rows: 1061 Columns: 18
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr   (6): hill.swamp, date, slope, species, notes, entered.by
dbl  (11): transect, tag, dbh, height, crown.height, crown.base, lowest.limb...
date  (1): date.entered

ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.

Introduction

The Hemlock Woolly Adelgid (HWA) is an invasive insect that feeds on the sap of hemlock (Tsuga) trees, this diet leads to deterioration in tree crowns and ultimately mortality in the infested trees. The murderous appetite of these pests currently poses a massive threat to hemlock forests across the northern United States, and preventative treatments have emerged to combat their spreading. Using data from the “Impacts of Hemlock Woolly Adelgid After Preventative Treatment in Lincoln MA 2015-2018” (Harvard Forest Data Archive) our team has pulled data on hemlock trees both treated and untreated for HWA from years 2016 and 2017. Using this data our team compares various tree metrics including diameter at breast height (DBH), health, crown density, and treatment in the hemlock trees through mixed method graphs. By examining how these variables correlate we aim to investigate the effectiveness of preventative HWA treatments on hemlocks.

Methods

The HWA_fall data includes measurements (DBH, crown class, BA, and various health measurements) of trees sampled on an upland and swamp site in 2015 and 2016, respectively. The HWA_other_seasons data includes measurements (DBH and various crown measurements) of the same trees on these sites. These data sets were loaded in as follows:

HWA_fall <- read_csv("HWA_fall_measure.csv")
Rows: 1054 Columns: 14
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr (8): hill.swamp, date, slope, species, crown.class, health, treated, notes
dbl (6): transect, tag, dbh, x.dist, y.dist.absolute, ba

ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
HWA_other_seasons <- read_csv("HWA_other_seasons_measure.csv")
Rows: 1061 Columns: 18
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr   (6): hill.swamp, date, slope, species, notes, entered.by
dbl  (11): transect, tag, dbh, height, crown.height, crown.base, lowest.limb...
date  (1): date.entered

ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
## The first few rows of HWA_fall and HWA_other_seasons look like this:
head(HWA_fall) %>%
  gt()
hill.swamp transect date slope tag species dbh crown.class health x.dist y.dist.absolute treated ba notes
hill 1 fall.2015 uphill 660 tsugca 15.8 s 2 0.4 13.1 n 0.01959674 NA
hill 1 fall.2015 uphill 661 tsugca 12.0 s 3 0.4 13.1 n 0.01130400 NA
hill 1 fall.2015 uphill 662 tsugca 19.0 s 3 1.5 23.6 n 0.02833850 NA
hill 1 fall.2015 uphill 663 tsugca 15.4 s 2 2.4 21.9 n 0.01861706 NA
hill 1 fall.2015 uphill 664 tsugca 14.7 s 3 2.4 16.4 n 0.01696306 NA
hill 1 fall.2015 uphill 665 betule 12.9 s NA 2.8 7.4 NA 0.01306318 NA
head(HWA_other_seasons) %>%
  gt()
hill.swamp transect date slope tag species dbh height crown.height crown.base lowest.limb dripline.1 dripline.2 crown.dia crown.density notes entered.by date.entered
hill 1 spring.2016 uphill 660 tsugca 15.8 6.0960 6.0960 2.1336 0.9144 6.3 4.6 5.45 10 NA NA NA
hill 1 spring.2016 uphill 661 tsugca 12.0 10.6680 10.6680 3.0480 3.0480 5.4 3.5 4.45 5 NA NA NA
hill 1 spring.2016 uphill 662 tsugca 19.0 5.4864 5.4864 1.8288 1.8288 7.2 6.8 7.00 20 NA NA NA
hill 1 spring.2016 uphill 663 tsugca 15.4 10.0584 10.0584 2.7432 2.7432 6.0 5.9 5.95 15 NA NA NA
hill 1 spring.2016 uphill 664 tsugca 14.7 10.0584 10.0584 3.0480 1.2192 7.5 6.9 7.20 20 NA NA NA
hill 1 summer.2016 uphill 665 betule 12.9 11.5824 11.5824 6.4008 6.4008 8.7 6.0 7.35 45 NA mjs 2016-07-14

To easily compare the crown density data with the fall tree measurement data, a new tibble was created with just the variables of interest- tree tag #, crown density class, transect, and site. Then, this tibble was joined with the HWA_fall data using a left join to create the all_measure dataset. Now, we have all the data we need, but we need to filter for hemlocks (Tsuga canadensis) on the hill site, since only the hemlocks on the hill were treated for HWA and we want to compare the effect of the treatment. To create the DBH versus health plot, the HWA_fall data was mutated to create three different size classes: small (less than 20”), medium (20”-60”), and large (over 60”). To create the health versus treatment plot, the HWA_fall data was mutated to assign percent foliage remaining to each tree; in the dataset health is measured on a scale from 1-5 corresponding with 100%, 75%, 50%, 25%, and 0% foliage remaining, with 1 being 100%. We changed this so our plot would show the percentage of foliage remaining instead of just the health ranking. Finally, we created plots displaying all this data.

Analysis

The defoliation vs. treatment method ggplot graphic is a violin geometry graphic combined with a boxplot geometry.

Health vs. Treatment (Figure 1).

HWA_fall %>% 
  filter(species == "tsugca") %>% 
  filter(hill.swamp == "hill") %>% 
  filter(treated%in%c("n", "y")) %>% 
  filter(health%in%c("1", "2", "3", "4", "5", 6)) %>% 
  mutate(health = as.numeric(health)) %>% 
  mutate(treated = case_when(treated == "n" ~ "Not Treated",
                             treated == "y" ~ "Treated")) %>% 
  mutate(health = case_when(health == 1 ~ 0,
                            health == 2 ~ 25,
                            health == 3 ~ 50,
                            health == 4 ~ 75,
                            health == 5 ~ 100)) %>% 
  group_by(treated) %>%
  ggplot(mapping = aes(x = treated, y = health, fill = treated)) +
  geom_violin() +
  geom_boxplot(width = .05, outlier.shape = NA) +
  labs(y = "Percent Defoliation (%)", x = "Treatment", title = "Tree Foliation vs. Treatment Method") +
  theme(legend.position = "none")

The graphic displays the distributions of percent defoliation relative to each treatment method. Based on the graphic, we can surmise that overall, treated hemlock trees were far more likely to have 0 - 25 percent defoliation, whereas untreated trees were much more likely to have defoliation ranging from 50 - 75 percent. Within the untreated trees, we do still see a marginal amount of trees that have 0 - 25 percent defoliation, although it is such a small amount in comparison to the rest of the data that it is likely statistically insignificant for the purposes of the graphic. Likewise, we see a small number of trees showing 50 percent defoliation in the treated category, but in comparison with the other samples, it does not seem to represent a meaningful trend.

The Crown Density of Hillside Hemlocks ggplot graphic is a boxplot representation of the crown densities of dead, treated, and untreated hemlock trees using the USFS scale for crown density.

Treatment vs. Crown Density (Figure 2).

hemlock_crown_density <- HWA_other_seasons %>%
  select(tag, crown.density, transect, hill.swamp)
 
all_measure <- left_join(HWA_fall, hemlock_crown_density, by = c("tag", "transect", "hill.swamp"))
Warning in left_join(HWA_fall, hemlock_crown_density, by = c("tag", "transect", : Detected an unexpected many-to-many relationship between `x` and `y`.
ℹ Row 47 of `x` matches multiple rows in `y`.
ℹ Row 47 of `y` matches multiple rows in `x`.
ℹ If a many-to-many relationship is expected, set `relationship =
  "many-to-many"` to silence this warning.
hemlock_all_measure <- all_measure %>%
  filter(species == "tsugca", hill.swamp == "hill", !is.na(treated))
 
ggplot(hemlock_all_measure,
       mapping = aes(x = treated, y = crown.density)) +
  geom_boxplot() +
  theme_economist() +
  labs(title = "Crown Density of Hillside Hemlocks", x = "Treated", y = "Crown Density")

The untreated trees have a crown density of around 5 - 10, whereas the treated hemlocks have a crown density of between 20 - 30. Dead trees are all at a crown density of zero. It is interesting to note however, that even in the untreated trees, there are a number of outliers that are equal to, or above the crown density of the average treated tree. This is likely due to factors outside the scope of this analysis, though it could warrant further research as to why this occurred.

The DBH vs. Health ggplot graphic is a boxplot comparing how treated and untreated trees of different size classes are affected by defoliation.

DBH vs. Health (Figure 3).

HWA_fall %>%
  filter(species == 'tsugca', hill.swamp == 'hill') %>%
  filter(health%in%c("1", "2", "3", "4", "5")) %>% 
  filter(treated%in%c("n", "y")) %>% 
  mutate(health = as.numeric(health)) %>%
  mutate(dbh_class = case_when(dbh < 20.0 ~ 'Small', 
                               dbh >= 20.0 & dbh <= 60.0 ~ 'Medium',
                               dbh > 60.0 ~ 'Large')) %>%
  mutate(health = case_when(health == 1 ~ 0,
                            health == 2 ~ 25,
                            health == 3 ~ 50,
                            health == 4 ~ 75,
                            health == 5 ~ 100)) %>% 
  group_by(treated) %>% 
  ggplot(mapping = aes(x = treated, y = health, fill = dbh_class)) + 
  geom_boxplot(outlier.shape = NA) +
  labs(title = "DBH vs Health", x = "Treated", y = "Defoliation (%)") +
  guides(fill=guide_legend(title="DBH Class")) 

There seems to be little to no correlation between tree size and the incidence of defoliation, other than an outlier of large untreated trees, but there does seem to be a strong correlation between treatment method and defoliation percentage. Treated trees show an incidence of 0 - 25 percent defoliation, while untreated generally show a defoliation percentage of 50 - 75 percent. This agrees with the first graphic, “Defoliation vs. Treatment”, which compared exactly those two variables.

Conclusion/Discussion

In conclusion, after working with the data from “Impacts of Hemlock Woolly Adelgid After Preventative Treatment in Lincoln MA 2015-2018” (Harvard Forest Data Archive) our group was able to find the effectiveness of treating Hemlock Woolly Adelgid (HWA). Three graphs showed how treating the invasive insect impacts dbh, defoliation, and crown density. First, comparing DBH and tree health our findings showed that small and medium DBH had poor tree health while medium and large DBH had better health when treated. Secondly, when comparing treatment to foliation, findings indicate that trees that were treated had a lower defoliation percentage than no treatment which had a high defoliation percentage. Lastly, comparing crown density to treatment showed that treatment had a positive impact on a large crown density while no treatment resulted in a small crown density. Overall, Hemlock Woolly Adelgid when treated shows positive results in the overall health of the trees. In the future, this data can be analyzed further to find more impacts on Hemlock Woolly Adelgid and provide guidance on how treatments benefit the tree.