knitr::opts_chunk$set(echo = TRUE)
library(pliDrought2019)

Data description

Thanks Rachel for your great notes and summaries!

In July 2019, we sampled data from r nrow(pliDat) trees, in r nrow(pliDat)/2 paired plots, distributed over r length(unique(pliDat$Opening)) openings. Each plot contained one dead pine tree, with drought as the likely mortality agent, and one live tree. The following criteria were used to identify tree pairs:

  1. Dead tree was determined to have been killed by drought within past two years;
  2. Dead tree had <=20% live needles (in other words, 80+% of needles on tree were red/dead);
  3. Live tree had >=80% live needles;
  4. Both trees had a similar microtopographic position;
  5. Both trees had similar diameter, height, crown class;and
  6. Both trees were free of visible forest health factors (some trees with stem disease were sampled).

Openings were located in the Montane Spruce dry-mild subzone.

Tree-level measurements

For each tree, we collected the following measurements:

  1. Tree # - Tree #1 is always the dead tree, Tree #2 is live
  2. Distance to live partner - Distance between trees in plot, m
  3. Crown class - Dominant or codominant trees were sampled
  4. Crown volume - This compares volume between live and dead trees within a plot. Live tree crown was assigned a volume of 100%, and the dead tree % is relative to live crown percentage. E.g., a dead tree crown volume % of 50% means its crown volume (when alive) would have been 1/2 of the live tree.
  5. Longest branch - Ocular estimate of longest branch within crown, cm
  6. B - Height to bottom of crown (in case of dead trees, where live crown was),m
  7. Percentage of live needles - Percentage of live needles to dead needles in crown

Preliminary analysis

Below is R code to generate some preliminary analyses of tree measurements. If you'd like to re-run the R code below, use the following scripts to install the data and load relevant libraries. You may need to install libraries into R.

Install pine drought mortality data into R

# Run the following code to install package 
# remotes::install_github("https://github.com/hgriesbauer/pliDrought2019")

# Load libraries
library(pliDrought2019)
library(tidyverse)

Boxplots

# BOXPLOTS
pliDat %>% 
  dplyr::select(`Opening`,`Plot`,`Tree #`,
                `Crown Volume (%)`,`Longest Branch (cm)`,
                `Height (m)`,`DBH (cm)`,`B (m)`,`% live needles`) %>% 
  pivot_longer(cols=4:9,names_to="var") %>% 
  mutate(`Tree status`=factor(`Tree #`,labels=c("Dead","Live"))) %>% 
  ggplot(aes(y=`value`,x=`Tree status`,fill=`Tree status`))+
  geom_boxplot()+
  facet_wrap(~var,scales="free_y")+
 theme_bw()

Some differences from these boxplots:

  1. Height to live crown (B) looks to be higher in live trees;
  2. DBH is higher in live trees (this seems intuitive, given that the live trees have continued growing, whereas dead trees may have stopped growing 2 years ago);
  3. Live trees have longer crown branches than dead trees.

Heights seems to be relatively equal between live/dead trees.

The % live needles and % crown volume differences seem intuitive.

with boxplots, we lose the paired differences. Let's look at that next.

Within-plot differences

We can look at differences between live and dead trees within each plot.

First, we'll define a function to take a measurement (e.g., longest branch in the crown) and estimate differences between each tree pair, using a paired-sample t-test.

#define treeDiff function
treeDiff<-function(y) {# y is the column name of interest

  x<-
  pliDat %>% 
  dplyr::select(`Opening`,`Plot`,`Tree #`,y) %>% 
  pivot_wider(names_from=`Tree #`,values_from=y) %>% 
  setNames(c("Opening","Plot","Dead","Live"))

  return(t.test(x$Dead,x$Live,paired = TRUE))

}

Longest branch in the crown

Using a paired sample t-test, we see that the average difference within each pair is r treeDiff(y="Longest Branch (cm)")$estimate. Result is significant.

treeDiff(y="Longest Branch (cm)")

Does DBH differ between live and dead trees within each plot?

Using a paired sample t-test, we see that the average difference within each pair is r treeDiff(y="DBH (cm)")$estimate. Result is significant.

treeDiff(y="DBH (cm)")

Does height to live crown differ between live and dead trees within each plot?

Using a paired sample t-test, we see that the average difference within each pair is r treeDiff(y="B (m)")$estimate. Result is significant.

treeDiff(y="B (m)")

Does tree height differ between live and dead trees within each plot?

Using a paired sample t-test, we see that the average difference within each pair is r treeDiff(y="Height (m)")$estimate. Tree heights did not significantly differ within each plot.

treeDiff(y="Height (m)")

Cores

We also collected a single tree core from each tree, at 1.3m off the ground. Dr. Lisa Wood at UNBC is processing the cores in fall 2019 and will provide annual measures of:

  1. Ring density (g/cm3)
  2. Earlywood and Latewood density
  3. Ring width (mm)
  4. Earlywood and Latewood width (mm)

We can look into this more once we receive the data from Lisa...



hgriesbauer/pliDrought2019 documentation built on Jan. 29, 2021, 6:51 p.m.