Overview

While the broad goals of this project are outlined more completely in the draft manuscript, the specific goals addressed here are to quantify treatment-associated changes in basal area, trees per acre, quadratic mean diameter (QMD), and species composition - by treatment type (e.g., thinning, burning, etc.) - by treatment intensity - by treatment age or phase (e.g., 2-5 years post-treatment, 5-10 years post-treatment, etc.) - by elevation and forest type (e.g., by unit)

Concerns with specific plots

Summary of pre-existing concerns

From Maggie’s Notes for (future) 2024 Data Analysis_MKP.docx:

Lockhart plots might have overstory issues, it seems like some of them (L12, L23, L25, L13, L24 and L27) appear to have a DBH cutoff at 7.5-8 inch DBH in the PRE entry, but then show a large number of trees under 8 inches in DBH in post1 or post 5-6

Be careful with plot 9D, some trees names RA9D, which I replaced with 9D for now but it’s possible they were duplicates.

In addition, the following 2013 plot visits are marked as “partial plots” in the “UP-CFLRP All Plot Notes.docx”

## Plots marked partial
##  L12 L13 L23 L24 L25 L27 RA1510

The following two 2013 plot visits were marked with the note:

Dropped in favor of 2015 pre

## Additional marked plots:
##  L29 L8

Confirming issues and identifying new ones

Half-plots

From the plot mapper, we can identify sites that have very high variation between visits. The following plots have a high coefficient of variation and a plot map suggesting that only half-plots were recorded on one or more visits:

##       id PRE_1 PRE_2 POST_1 POST_2 POST_3 POSTRX_1 POSTRX_2 mean coef_variation
## 1 RA1310    57    NA     65     98     70       NA       NA 72.5      0.2458373
## 2  RA710    NA    NA     53     49     NA       63       NA 55.0      0.1311110

The following plot is not exactly a half-plot, but it’s clear there is some incompleteness in the southeast quadrant:

##       id PRE_1 PRE_2 POST_1 POST_2 POST_3 POSTRX_1 POSTRX_2 mean coef_variation
## 1 RA2040   119    NA     NA     NA     NA       90      112  107      0.1414275

Other issues

Inconsistent DBH thresholds

The following plots do not have evidence of the “half-plot” problem, but do have a high coefficient of variation, possibly because the lower DBH threshold for recording trees was not consistent across visits, as noted by Maggie:

##        id PRE_1 PRE_2 POST_1 POST_2 POST_3 POSTRX_1 POSTRX_2      mean
## 1      L7    61   169    135     NA     NA       NA       NA 121.66667
## 2     L29    47   145    171    170     NA       NA       NA 133.25000
## 3   RA261    83    NA    203    214     NA       NA       NA 166.66667
## 4   RA178    44    NA    111     96     NA       NA       NA  83.66667
## 5      3A    55    NA     NA     NA     NA      129      113  99.00000
## 6     L23    49    NA     97    115     NA       NA       NA  87.00000
## 7   RA181    43    NA     89     91     NA       NA       NA  74.33333
## 8     L27    74    NA    148    152     NA       NA       NA 124.66667
## 9      L8    70   154     98     91     NA       NA       NA 103.25000
## 10    L25    87    NA    159    160     NA       NA       NA 135.33333
## 11     L9    83    NA    151    153     NA       NA       NA 129.00000
## 12    L10    97   150     NA     NA     NA       NA       NA 123.50000
## 13  RA219    52    NA     NA     NA     NA       89       90  77.00000
## 14    L11    78   159    115    124     NA       NA       NA 119.00000
## 15 RA2170   207    NA    130    133     NA       NA       NA 156.66667
## 16  RA281    94    NA    136    167     NA       NA       NA 132.33333
## 17 RA2080   136    NA     NA     NA     NA       92       84 104.00000
## 18 RA2240   211    NA    144    132     NA       NA       NA 162.33333
## 19  RA410    90    NA    145    150     NA       NA       NA 128.33333
## 20 RA1310    57    NA     65     98     70       NA       NA  72.50000
## 21    L12    69    NA    103    104     NA       NA       NA  92.00000
## 22  RA510   111    NA    168    163     NA       NA       NA 147.33333
##    coef_variation
## 1       0.4538693
## 2       0.4408593
## 3       0.4359954
## 4       0.4202574
## 5       0.3932914
## 6       0.3921545
## 7       0.3652989
## 8       0.3523330
## 9       0.3473543
## 10      0.3093169
## 11      0.3089125
## 12      0.3034547
## 13      0.2812520
## 14      0.2796354
## 15      0.2783984
## 16      0.2768605
## 17      0.2692308
## 18      0.2622475
## 19      0.2594154
## 20      0.2458373
## 21      0.2165746
## 22      0.2142404

This list includes all of the plots identified by Maggie (L12, L23, L25, L13, L24 and L27) and adds 11 new ones. These new plots are not only from the “L” area.

This problem of inconsistent lower DBH thresholds is most pronounced in these plots, but it actually seems like it could be a problem in most, if not all plots.

We can examine this directly by checking the lower bounds of the DBH distribution for each plot and visit. We’ll check the absolute minimum DBH and the 2.5th percentile of the DBH distribution for recorded trees at each plot and visit. Then, we can look for plots where the gap between these values on successive visits is large.

overstory <- read_csv("overstory_tidy.csv")

min_dbh_change <- overstory %>%
  group_by(id, t_idxn) %>%
  summarise(
    min_dbh = min(dbh, na.rm = TRUE),
    p2_5_dbh = quantile(dbh, 0.025, na.rm = TRUE)
  ) %>%
  arrange(id, t_idxn) %>% 
  pivot_wider(
    names_from = t_idxn,
    values_from = c(min_dbh, p2_5_dbh)
  ) %>% 
  rowwise %>% 
  mutate(
    # What is the largest gap between the minimum DBH of the PRE_1 visit and all
    # POST_* visits?
    min_dbh_gap_PRE_1 = max(c_across((matches("^min_.*POST"))), na.rm = TRUE) - 
      min_dbh_PRE_1,
    # What is the largest gap between the minimum DBH of the PRE_2 visit and all
    # POST_* visits?
    min_dbh_gap_PRE_2 = max(c_across((matches("^min_.*POST"))), na.rm = TRUE) - 
      min_dbh_PRE_2,
    # same, but for 2.5%
    p2_5_dbh_gap_PRE_1 = max(c_across((matches("^p2_5_.*POST"))), na.rm = TRUE) - 
      p2_5_dbh_PRE_1,
    p2_5_dbh_gap_PRE_2 = max(c_across((matches("^p2_5_.*POST"))), na.rm = TRUE) - 
      p2_5_dbh_PRE_2
  ) %>% 
  filter(!all(is.na(val <- c_across(contains("gap"))) | val == -Inf)) %>%
  ungroup %>% 
  arrange(min_dbh_gap_PRE_1) %>% 
  mutate(row_highlight = id %in% addl_high_cv_plots,
         row_num = row_number())  # needed for row_spec()

min_dbh_change %>% 
  select(id, matches("gap"), starts_with("min"), starts_with("p2_5_")) %>% 
  kbl() %>%
  kable_paper() %>%
  column_spec(2:3, background = "#A1D5FF7F") %>% 
  column_spec(4:5, background = "#C7F9FF7F") %>% 
  row_spec(which(min_dbh_change$row_highlight), bold = TRUE) %>% 
  scroll_box(width = "100%", height = "300px")
id min_dbh_gap_PRE_1 min_dbh_gap_PRE_2 p2_5_dbh_gap_PRE_1 p2_5_dbh_gap_PRE_2 min_dbh_POSTRX_1 min_dbh_POSTRX_2 min_dbh_PRE_1 min_dbh_POST_1 min_dbh_POST_2 min_dbh_PRE_2 min_dbh_POST_3 p2_5_dbh_POSTRX_1 p2_5_dbh_POSTRX_2 p2_5_dbh_PRE_1 p2_5_dbh_POST_1 p2_5_dbh_POST_2 p2_5_dbh_PRE_2 p2_5_dbh_POST_3
L7 -3.7 -0.9 -2.9000 -0.2000 NA NA 7.9 4.2 NA 5.1 NA NA NA 7.9000 5.0000 NA 5.2000 NA
L12 -3.5 NA -3.1700 NA NA NA 8.1 4.6 4.5 NA NA NA NA 8.1700 4.9100 5.0000 NA NA
L23 -3.5 NA -3.5000 NA NA NA 8.0 4.5 4.5 NA NA NA NA 8.5000 5.0000 4.9700 NA NA
L27 -3.5 NA -3.3300 NA NA NA 8.0 4.5 4.5 NA NA NA NA 8.1650 4.8350 4.8000 NA NA
L29 -3.3 -0.4 -3.1000 -0.3600 NA NA 7.9 0.3 4.6 5.0 NA NA NA 8.1000 5.0000 5.0000 5.3600 NA
L25 -3.1 NA -2.4400 NA NA NA 7.6 0.5 4.5 NA NA NA NA 7.9150 5.4750 5.0000 NA NA
L18 -3.0 NA -2.1900 NA NA NA 8.0 5.0 5.0 NA NA NA NA 8.1075 5.9175 5.8400 NA NA
L24 -2.9 NA -1.9000 NA NA NA 7.9 5.0 4.5 NA NA NA NA 7.9000 6.0000 4.5000 NA NA
RA2010 -1.3 NA -0.0600 NA 1.5 NA 6.0 4.7 NA NA NA 5.580 NA 6.0600 6.0000 NA NA NA
L9 -0.6 NA -2.6000 NA NA NA 5.6 1.3 5.0 NA NA NA NA 8.0200 5.0000 5.4200 NA NA
RA1110 -0.5 NA -1.1050 NA 4.5 4.5 5.0 NA NA NA NA 4.940 5.0000 6.1050 NA NA NA NA
RA1210 -0.5 NA -0.1275 NA NA NA 5.0 4.5 NA NA NA NA NA 5.2375 5.1100 NA NA NA
RA610 -0.5 NA -0.7000 NA 4.5 4.5 5.0 4.5 NA NA NA 4.600 4.5325 5.3000 4.5625 NA NA NA
3A -0.4 NA -1.1150 NA 4.6 4.5 5.0 NA NA NA NA 4.920 4.5000 6.0350 NA NA NA NA
RA810 -0.3 NA -0.0300 NA NA NA 5.0 4.7 NA NA NA NA NA 5.0300 5.0000 NA NA NA
RA1010 0.0 NA 0.0500 NA NA NA 5.0 5.0 5.0 NA NA NA NA 5.8125 5.8625 5.5200 NA NA
RA1310 0.0 NA 0.2000 NA NA NA 6.0 6.0 3.0 NA 4.5 NA NA 6.5200 6.7200 5.0000 NA 5.5725
RA178 0.0 NA 0.1775 NA NA NA 4.6 4.6 4.5 NA NA NA NA 4.8225 5.0000 4.8375 NA NA
RA2030 0.0 NA 0.1725 NA 4.5 4.5 4.5 NA NA NA NA 4.755 4.8000 4.6275 NA NA NA NA
RA2040 0.0 NA -0.0950 NA 4.5 4.5 4.5 NA NA NA NA 4.600 4.6000 4.6950 NA NA NA NA
RA2190 0.0 NA -0.0850 NA NA NA 4.5 4.5 4.5 NA NA NA NA 4.7000 4.6000 4.6150 NA NA
RA2490 0.0 NA 0.0750 NA 4.7 4.5 4.7 NA NA NA NA 4.910 4.5400 4.8350 NA NA NA NA
RA2540 0.0 NA 0.1325 NA 4.5 4.5 4.5 NA NA NA NA 4.600 4.6325 4.5000 NA NA NA NA
RA271 0.0 NA -0.4700 NA NA NA 4.6 4.5 4.6 NA NA NA NA 5.1975 4.7275 4.7000 NA NA
RA510 0.0 NA -0.1200 NA NA NA 4.5 4.5 1.0 NA NA NA NA 5.0250 4.8350 4.9050 NA NA
RA2310 0.1 NA 0.1000 NA 4.6 4.5 4.5 NA NA NA NA 4.600 4.5000 4.5000 NA NA NA NA
RA2560 0.1 NA 0.0725 NA 4.6 4.5 4.5 NA NA NA NA 4.980 4.5000 4.9075 NA NA NA NA
L13 0.2 NA -2.8900 NA NA NA 4.7 3.0 4.9 NA NA NA NA 7.8900 5.0000 5.0000 NA NA
RA2080 0.2 NA 0.1025 NA 4.5 4.3 4.3 NA NA NA NA 4.500 4.8150 4.7125 NA NA NA NA
RA2170 0.3 NA 0.4450 NA NA NA 4.5 4.7 4.8 NA NA NA NA 4.7150 5.1125 5.1600 NA NA
RA301 0.4 NA 0.3275 NA NA NA 4.6 5.0 4.5 NA NA NA NA 5.1725 5.5000 5.3200 NA NA
RA310 0.4 NA 0.2000 NA NA NA 4.3 4.6 4.7 NA NA NA NA 5.3000 5.4600 5.5000 NA NA
RA2240 0.5 NA 0.6750 NA NA NA 4.5 1.5 5.0 NA NA NA NA 4.8250 5.3725 5.5000 NA NA
RA191 0.6 NA 0.0425 NA NA NA 4.0 1.3 4.6 NA NA NA NA 4.7950 4.7200 4.8375 NA NA
RA251 0.6 NA 0.6325 NA NA NA 5.0 4.6 5.6 NA NA NA NA 5.4675 5.1150 6.1000 NA NA
RA219 0.7 NA 0.3575 NA 5.7 4.6 5.0 NA NA NA NA 6.260 5.2000 5.9025 NA NA NA NA
RA410 0.8 NA 0.9875 NA NA NA 4.2 5.0 5.0 NA NA NA NA 5.0125 5.8400 6.0000 NA NA
RA2020 1.0 NA -0.1575 NA 4.6 4.5 3.6 NA NA NA NA 4.800 4.7350 4.9575 NA NA NA NA
L11 1.6 -0.5 -2.5925 0.3100 NA NA 2.9 4.5 4.5 5.0 NA NA NA 8.0925 5.5000 5.0000 5.1900 NA
L8 1.7 -0.5 -2.8675 0.1675 NA NA 2.8 4.5 4.5 5.0 NA NA NA 8.2175 4.7425 5.3500 5.1825 NA
RA181 1.7 NA 0.2000 NA NA NA 3.3 4.5 5.0 NA NA NA NA 5.0000 4.7600 5.2000 NA NA
RA2180 2.0 NA 0.3950 NA NA NA 2.7 4.5 4.7 NA NA NA NA 4.6000 4.5400 4.9950 NA NA
RA281 2.0 NA -0.3000 NA NA NA 2.5 4.5 4.5 NA NA NA NA 5.1000 4.8000 4.6000 NA NA
RA2050 2.6 NA 0.1550 NA 4.6 4.5 2.0 NA NA NA NA 5.055 5.0000 4.9000 NA NA NA NA
RA261 3.6 NA 0.0000 NA NA NA 1.0 4.6 4.5 NA NA NA NA 5.0000 5.0000 5.0000 NA NA

It seems that the problems are all localized to PRE_1 visits. There isn’t a big gap between the minimum values of the PRE_2 visits and any of the POST* visits. The problem plot values are bolded here, and you can see they are concentrated at the top of the table. That means a lot of the issue could be explained away by this gap in the size of trees that are being recorded.

Plot L7 is a big offender here:

## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

Plotting histograms for all of the worst offenders (watch out for changes in the color scales):

A practical solution to this problem would be to remove trees below the highest dbh threshold for plots where this seems to be an issue.

overstory_min8 <- overstory %>% 
  filter(dbh >= 8)

data_loss <- (1 - nrow(overstory_min8) / nrow(overstory)) * 100

cat(round(data_loss, 2), "% of trees removed by DBH cutoff", sep = "")
## 29.43% of trees removed by DBH cutoff

Now, let’s revisit the CV values for tree counts and see if some of these sites start to look less extreme.

# ntrees data
ntrees_min8 <- overstory_min8 %>%
  group_by(id, t_idxn) %>%
  summarise(ntrees = n(), .groups = "keep") %>%
  ungroup() %>%
  pivot_wider(names_from = t_idxn, values_from = ntrees) %>%
  rowwise %>%
  mutate(mean = mean(c_across(starts_with("P")), na.rm = TRUE),
         sd = sd(c_across(starts_with("P")), na.rm = TRUE),
         coef_variation = ifelse(mean == 0, NA, sd / mean)) %>%
  select(id, starts_with("PRE"), starts_with("POST_"), starts_with("POSTRX"),
         mean, coef_variation) %>%
  arrange(desc(coef_variation)) %>% 
  ungroup %>% 
  mutate(cv_rank_new = row_number()) %>% 
  left_join(ntrees %>% 
              mutate(cv_rank_old = row_number(),
                     coef_variation_old = coef_variation) %>% 
              select(id, cv_rank_old, coef_variation_old), 
            by = "id") %>% 
  relocate(starts_with("cv_"), starts_with("coef_"), .before = PRE_1) %>% 
  arrange(cv_rank_old)

ntrees_min8 %>%
  kbl() %>%
  kable_paper() %>%
  column_spec(2:3, background = "#A1D5FF7F") %>% 
  column_spec(4:5, background = "#C7F9FF7F") %>% 
  row_spec(which(min_dbh_change$row_highlight), bold = TRUE) %>% 
  scroll_box(width = "100%", height = "800px") 
id cv_rank_new cv_rank_old coef_variation coef_variation_old PRE_1 PRE_2 POST_1 POST_2 POST_3 POSTRX_1 POSTRX_2 mean
L7 21 1 0.1367905 0.4538693 56 73 70 NA NA NA NA 66.33333
L29 4 2 0.3189526 0.4408593 46 94 105 103 NA NA NA 87.00000
RA261 2 3 0.4877908 0.4359954 49 NA 120 150 NA NA NA 106.33333
RA178 1 4 0.4901528 0.4202574 23 NA 71 61 NA NA NA 51.66667
3A 3 5 0.3732764 0.3932914 43 NA NA NA NA 96 83 74.00000
L23 15 6 0.1955541 0.3921545 49 NA 64 73 NA NA NA 62.00000
RA181 6 7 0.3136992 0.3652989 29 NA 49 56 NA NA NA 44.66667
L27 33 8 0.0853659 0.3523330 74 NA 87 85 NA NA NA 82.00000
L8 28 9 0.0972854 0.3473543 69 85 79 71 NA NA NA 76.00000
L25 12 10 0.2065058 0.3093169 84 NA 126 120 NA NA NA 110.00000
L9 11 11 0.2184565 0.3089125 82 NA 118 127 NA NA NA 109.00000
L10 43 12 0.0560085 0.3034547 97 105 NA NA NA NA NA 101.00000
RA219 34 13 0.0775396 0.2812520 67 NA NA NA NA 78 75 73.33333
L11 27 14 0.1034773 0.2796354 77 99 93 90 NA NA NA 89.75000
RA2170 32 15 0.0903217 0.2783984 120 NA 103 103 NA NA NA 108.66667
RA281 5 16 0.3147819 0.2768605 50 NA 79 97 NA NA NA 75.33333
RA2080 23 17 0.1357674 0.2692308 42 NA NA NA NA 34 33 36.33333
RA2240 36 18 0.0704826 0.2622475 129 NA 121 112 NA NA NA 120.66667
RA410 8 19 0.2962829 0.2594154 68 NA 120 122 NA NA NA 103.33333
RA1310 24 20 0.1339421 0.2458373 53 NA 59 72 58 NA NA 60.50000
L12 46 21 0.0447081 0.2165746 69 NA 71 65 NA NA NA 68.33333
RA510 7 22 0.3129908 0.2142404 61 NA 115 110 NA NA NA 95.33333
RA310 10 23 0.2227967 0.1851189 85 NA 123 133 NA NA NA 113.66667
RA251 9 24 0.2581766 0.1812029 81 NA 113 138 NA NA NA 110.66667
L24 44 25 0.0519481 0.1807224 73 NA 77 81 NA NA NA 77.00000
L18 30 26 0.0938041 0.1738022 82 NA 91 99 NA NA NA 90.66667
9A 22 27 0.1358284 0.1697056 NA NA 80 97 NA NA NA 88.50000
L13 42 28 0.0562279 0.1664702 57 NA 51 55 NA NA NA 54.33333
RA191 18 29 0.1771003 0.1660871 44 NA 54 63 NA NA NA 53.66667
RA2040 14 30 0.2014515 0.1414275 72 NA NA NA NA 48 66 62.00000
RA2540 38 31 0.0665079 0.1412455 52 NA NA NA NA 46 47 48.33333
RA610 52 32 0.0134376 0.1412257 72 NA 71 NA NA 70 72 71.25000
RA710 19 33 0.1621622 0.1311110 NA NA 37 31 NA 43 NA 37.00000
RA1210 20 34 0.1512880 0.1277049 96 NA 119 NA NA NA NA 107.50000
RA2180 41 35 0.0568393 0.1233651 84 NA 75 79 NA NA NA 79.33333
RA2490 16 36 0.1924501 0.1228491 30 NA NA NA NA 21 30 27.00000
RA271 50 37 0.0261861 0.1009534 60 NA 58 57 NA NA NA 58.33333
RA2020 31 38 0.0930441 0.0997748 85 NA NA NA NA 72 85 80.66667
9B 26 39 0.1178511 0.0975320 NA NA 44 52 NA NA NA 48.00000
RA2010 29 40 0.0962726 0.0892143 71 NA 81 NA NA 86 NA 79.33333
RA301 39 41 0.0641500 0.0820408 78 NA 78 87 NA NA NA 81.00000
RA2190 25 42 0.1282029 0.0803162 29 NA 37 36 NA NA NA 34.00000
RA2030 45 43 0.0506522 0.0792833 69 NA NA NA NA 73 66 69.33333
RA1410 35 44 0.0771389 0.0614875 NA NA 52 58 NA NA NA 55.00000
RA1110 17 45 0.1803700 0.0568979 89 NA NA NA NA 74 62 75.00000
RA2560 47 46 0.0444108 0.0509427 59 NA NA NA NA 54 57 56.66667
RA2310 37 47 0.0692820 0.0494872 45 NA NA NA NA 40 40 41.66667
RA2050 40 48 0.0577717 0.0329945 101 NA NA NA NA 90 95 95.33333
RA1010 49 49 0.0391908 0.0247266 96 NA 89 91 NA NA NA 92.00000
RA1610 51 50 0.0193728 0.0149917 NA NA 108 111 NA NA NA 109.50000
RA1510 48 51 0.0407946 0.0146804 NA NA 101 107 NA NA NA 104.00000
L1 54 53 NA NA 104 NA NA NA NA NA NA 104.00000
L14 55 54 NA NA 124 NA NA NA NA NA NA 124.00000
L15 56 55 NA NA 38 NA NA NA NA NA NA 38.00000
L16 57 56 NA NA 39 NA NA NA NA NA NA 39.00000
L17 58 57 NA NA 89 NA NA NA NA NA NA 89.00000
L19 59 58 NA NA 30 NA NA NA NA NA NA 30.00000
L2 60 59 NA NA 72 NA NA NA NA NA NA 72.00000
L20 61 60 NA NA 77 NA NA NA NA NA NA 77.00000
L21 62 61 NA NA 64 NA NA NA NA NA NA 64.00000
L22 63 62 NA NA 97 NA NA NA NA NA NA 97.00000
L26 64 63 NA NA 66 NA NA NA NA NA NA 66.00000
L28 65 64 NA NA 27 NA NA NA NA NA NA 27.00000
L3 66 65 NA NA 58 NA NA NA NA NA NA 58.00000
L4 67 66 NA NA 122 NA NA NA NA NA NA 122.00000
L5 68 67 NA NA 70 NA NA NA NA NA NA 70.00000
L6 69 68 NA NA 46 NA NA NA NA NA NA 46.00000
RA2060 70 70 NA NA 101 NA NA NA NA NA NA 101.00000
RA2070 71 71 NA NA 13 NA NA NA NA NA NA 13.00000
RA2090 72 72 NA NA 36 NA NA NA NA NA NA 36.00000
RA2100 73 73 NA NA 64 NA NA NA NA NA NA 64.00000
RA2110 74 74 NA NA 61 NA NA NA NA NA NA 61.00000
RA2120 75 75 NA NA 88 NA NA NA NA NA NA 88.00000
RA2130 76 76 NA NA 74 NA NA NA NA NA NA 74.00000
RA2140 77 77 NA NA 53 NA NA NA NA NA NA 53.00000
RA2150 78 78 NA NA 9 NA NA NA NA NA NA 9.00000
RA2160 79 80 NA NA 34 NA NA NA NA NA NA 34.00000
RA217 80 81 NA NA 8 NA NA NA NA NA NA 8.00000
RA2200 81 82 NA NA 93 NA NA NA NA NA NA 93.00000
RA2210 82 83 NA NA 69 NA NA NA NA NA NA 69.00000
RA2220 83 84 NA NA 72 NA NA NA NA NA NA 72.00000
RA2230 84 85 NA NA 132 NA NA NA NA NA NA 132.00000
RA2300 85 86 NA NA 38 NA NA NA NA NA NA 38.00000
RA2320 86 87 NA NA 72 NA NA NA NA NA NA 72.00000
RA2330 87 88 NA NA 95 NA NA NA NA NA NA 95.00000
RA2340 88 89 NA NA 54 NA NA NA NA NA NA 54.00000
RA2350 89 90 NA NA 84 NA NA NA NA NA NA 84.00000
RA2360 90 91 NA NA 49 NA NA NA NA NA NA 49.00000
RA2370 91 92 NA NA 58 NA NA NA NA NA NA 58.00000
RA2380 92 93 NA NA 55 NA NA NA NA NA NA 55.00000
RA2390 93 94 NA NA 126 NA NA NA NA NA NA 126.00000
RA2400 94 95 NA NA 86 NA NA NA NA NA NA 86.00000
RA2410 95 96 NA NA 97 NA NA NA NA NA NA 97.00000
RA2420 96 97 NA NA 48 NA NA NA NA NA NA 48.00000
RA2430 97 98 NA NA 74 NA NA NA NA NA NA 74.00000
RA2440 98 99 NA NA 93 NA NA NA NA NA NA 93.00000
RA2450 99 100 NA NA 73 NA NA NA NA NA NA 73.00000
RA2460 100 101 NA NA 61 NA NA NA NA NA NA 61.00000
RA2470 101 102 NA NA 67 NA NA NA NA NA NA 67.00000
RA2480 102 103 NA NA 40 NA NA NA NA NA NA 40.00000
RA2500 103 104 NA NA 116 NA NA NA NA NA NA 116.00000
RA2510 104 105 NA NA 57 NA NA NA NA NA NA 57.00000
RA2520 105 106 NA NA 27 NA NA NA NA NA NA 27.00000
RA2530 106 107 NA NA 95 NA NA NA NA NA NA 95.00000
RA2550 107 108 NA NA 71 NA NA NA NA NA NA 71.00000
RA810 53 109 0.0000000 NA 68 NA 68 NA NA NA NA 68.00000
RA9D 13 110 0.2044646 NA NA NA 71 95 NA NA NA 83.00000

Okay, it looks like this correction clearly made a difference for some plots, particularly the L plots. The RA plot CVs are less affected. Let’s glance at some histograms pre- and post-application of the DBH cutoff.

# define key plots: top 10 of ntrees_min8
key_plots <- ntrees_min8$id[1:10]
# map over key plots to make list of old plots
old_hists <- map(key_plots, \(x) mk_dbh_hist(x, overstory) + 
                   labs(subtitle = "OLD"))
new_hists <- map(key_plots, \(x) mk_dbh_hist(x, overstory_min8) + 
                   labs(subtitle = "NEW"))

dual_plot <- \(x, y) {
  plots <- list(x, y)
  p <- ggarrange(x, y, nrow = 2)
  p
}
dual_plot(old_hists[[1]], new_hists[[1]])
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

# plot old and new hists side-by-side
plots <- map2(old_hists, new_hists, \(x, y) dual_plot(x, y))
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
plots
## [[1]]

## 
## [[2]]

## 
## [[3]]

## 
## [[4]]

## 
## [[5]]

## 
## [[6]]

## 
## [[7]]

## 
## [[8]]

## 
## [[9]]

## 
## [[10]]

Possible aspen regen

Though the DBH cutoff certainly helped, there are still some suspect cases of dramatically increasing tree counts in the post-treatment visits. One possible explanation is aspen regeneration. Let’s see if aspen are frequent at any of the high-CV sites.

aspen_df <- overstory_min8 %>%
  group_by(id, species) %>%
  summarise(ntrees = n(), .groups = "keep") %>%
  ungroup() %>%
  pivot_wider(names_from = species, values_from = ntrees) %>%
  rowwise %>%
  mutate(aspen_proportion = POTR5 / sum(across(PIPO:last_col()), 
                                        na.rm = TRUE)) %>% 
  select(id, aspen_proportion)

out <- ntrees_min8 %>%
  left_join(aspen_df, by = "id") %>% 
  relocate(aspen_proportion, .before = everything()) %>% 
  arrange(cv_rank_new) %>% 
  mutate(aspen_perc_rank = percent_rank(aspen_proportion), .before = id)

out %>% 
  kbl() %>%
  kable_paper() %>%
  column_spec(1:2, background = "#A1D5FF7F") %>% 
  column_spec(4, background = "#C7F9FF7F") %>% 
  row_spec(which(out$aspen_perc_rank > 0.75), bold = TRUE) %>% 
  scroll_box(width = "100%", height = "800px") 
aspen_proportion aspen_perc_rank id cv_rank_new cv_rank_old coef_variation coef_variation_old PRE_1 PRE_2 POST_1 POST_2 POST_3 POSTRX_1 POSTRX_2 mean
0.0709677 0.1734694 RA178 1 4 0.4901528 0.4202574 23 NA 71 61 NA NA NA 51.66667
0.2257053 0.3469388 RA261 2 3 0.4877908 0.4359954 49 NA 120 150 NA NA NA 106.33333
0.0225225 0.0612245 3A 3 5 0.3732764 0.3932914 43 NA NA NA NA 96 83 74.00000
0.4683908 0.8367347 L29 4 2 0.3189526 0.4408593 46 94 105 103 NA NA NA 87.00000
0.4115044 0.7551020 RA281 5 16 0.3147819 0.2768605 50 NA 79 97 NA NA NA 75.33333
0.1417910 0.2346939 RA181 6 7 0.3136992 0.3652989 29 NA 49 56 NA NA NA 44.66667
0.4545455 0.8061224 RA510 7 22 0.3129908 0.2142404 61 NA 115 110 NA NA NA 95.33333
0.4322581 0.7755102 RA410 8 19 0.2962829 0.2594154 68 NA 120 122 NA NA NA 103.33333
0.3493976 0.6224490 RA251 9 24 0.2581766 0.1812029 81 NA 113 138 NA NA NA 110.66667
0.3870968 0.7142857 RA310 10 23 0.2227967 0.1851189 85 NA 123 133 NA NA NA 113.66667
0.4464832 0.7857143 L9 11 11 0.2184565 0.3089125 82 NA 118 127 NA NA NA 109.00000
0.3727273 0.7040816 L25 12 10 0.2065058 0.3093169 84 NA 126 120 NA NA NA 110.00000
0.1987952 0.2959184 RA9D 13 110 0.2044646 NA NA NA 71 95 NA NA NA 83.00000
0.0806452 0.1938776 RA2040 14 30 0.2014515 0.1414275 72 NA NA NA NA 48 66 62.00000
0.0698925 0.1632653 L23 15 6 0.1955541 0.3921545 49 NA 64 73 NA NA NA 62.00000
NA NA RA2490 16 36 0.1924501 0.1228491 30 NA NA NA NA 21 30 27.00000
0.2266667 0.3571429 RA1110 17 45 0.1803700 0.0568979 89 NA NA NA NA 74 62 75.00000
0.3354037 0.5816327 RA191 18 29 0.1771003 0.1660871 44 NA 54 63 NA NA NA 53.66667
0.0270270 0.0918367 RA710 19 33 0.1621622 0.1311110 NA NA 37 31 NA 43 NA 37.00000
0.2511628 0.4081633 RA1210 20 34 0.1512880 0.1277049 96 NA 119 NA NA NA NA 107.50000
0.2713568 0.4591837 L7 21 1 0.1367905 0.4538693 56 73 70 NA NA NA NA 66.33333
0.2768362 0.4795918 9A 22 27 0.1358284 0.1697056 NA NA 80 97 NA NA NA 88.50000
0.6697248 0.9387755 RA2080 23 17 0.1357674 0.2692308 42 NA NA NA NA 34 33 36.33333
0.3636364 0.6734694 RA1310 24 20 0.1339421 0.2458373 53 NA 59 72 58 NA NA 60.50000
0.0784314 0.1836735 RA2190 25 42 0.1282029 0.0803162 29 NA 37 36 NA NA NA 34.00000
0.1458333 0.2448980 9B 26 39 0.1178511 0.0975320 NA NA 44 52 NA NA NA 48.00000
0.3147632 0.5612245 L11 27 14 0.1034773 0.2796354 77 99 93 90 NA NA NA 89.75000
0.2335526 0.3775510 L8 28 9 0.0972854 0.3473543 69 85 79 71 NA NA NA 76.00000
0.3655462 0.6836735 RA2010 29 40 0.0962726 0.0892143 71 NA 81 NA NA 86 NA 79.33333
0.4080882 0.7346939 L18 30 26 0.0938041 0.1738022 82 NA 91 99 NA NA NA 90.66667
0.0041322 0.0102041 RA2020 31 38 0.0930441 0.0997748 85 NA NA NA NA 72 85 80.66667
0.0460123 0.1020408 RA2170 32 15 0.0903217 0.2783984 120 NA 103 103 NA NA NA 108.66667
0.3495935 0.6326531 L27 33 8 0.0853659 0.3523330 74 NA 87 85 NA NA NA 82.00000
0.1363636 0.2244898 RA219 34 13 0.0775396 0.2812520 67 NA NA NA NA 78 75 73.33333
0.4909091 0.8469388 RA1410 35 44 0.0771389 0.0614875 NA NA 52 58 NA NA NA 55.00000
0.4171271 0.7653061 RA2240 36 18 0.0704826 0.2622475 129 NA 121 112 NA NA NA 120.66667
0.0560000 0.1428571 RA2310 37 47 0.0692820 0.0494872 45 NA NA NA NA 40 40 41.66667
0.6551724 0.9285714 RA2540 38 31 0.0665079 0.1412455 52 NA NA NA NA 46 47 48.33333
0.4938272 0.8571429 RA301 39 41 0.0641500 0.0820408 78 NA 78 87 NA NA NA 81.00000
0.0034965 0.0000000 RA2050 40 48 0.0577717 0.0329945 101 NA NA NA NA 90 95 95.33333
0.0672269 0.1530612 RA2180 41 35 0.0568393 0.1233651 84 NA 75 79 NA NA NA 79.33333
0.2392638 0.3979592 L13 42 28 0.0562279 0.1664702 57 NA 51 55 NA NA NA 54.33333
0.3069307 0.5408163 L10 43 12 0.0560085 0.3034547 97 105 NA NA NA NA NA 101.00000
0.4675325 0.8265306 L24 44 25 0.0519481 0.1807224 73 NA 77 81 NA NA NA 77.00000
0.1346154 0.2142857 RA2030 45 43 0.0506522 0.0792833 69 NA NA NA NA 73 66 69.33333
0.3560976 0.6428571 L12 46 21 0.0447081 0.2165746 69 NA 71 65 NA NA NA 68.33333
NA NA RA2560 47 46 0.0444108 0.0509427 59 NA NA NA NA 54 57 56.66667
0.4038462 0.7244898 RA1510 48 51 0.0407946 0.0146804 NA NA 101 107 NA NA NA 104.00000
0.2101449 0.3163265 RA1010 49 49 0.0391908 0.0247266 96 NA 89 91 NA NA NA 92.00000
0.3200000 0.5714286 RA271 50 37 0.0261861 0.1009534 60 NA 58 57 NA NA NA 58.33333
0.3378995 0.5918367 RA1610 51 50 0.0193728 0.0149917 NA NA 108 111 NA NA NA 109.50000
0.3578947 0.6530612 RA610 52 32 0.0134376 0.1412257 72 NA 71 NA NA 70 72 71.25000
0.0514706 0.1224490 RA810 53 109 0.0000000 NA 68 NA 68 NA NA NA NA 68.00000
0.6538462 0.9183673 L1 54 53 NA NA 104 NA NA NA NA NA NA 104.00000
0.6129032 0.8979592 L14 55 54 NA NA 124 NA NA NA NA NA NA 124.00000
0.2105263 0.3265306 L15 56 55 NA NA 38 NA NA NA NA NA NA 38.00000
0.1538462 0.2551020 L16 57 56 NA NA 39 NA NA NA NA NA NA 39.00000
0.4494382 0.7959184 L17 58 57 NA NA 89 NA NA NA NA NA NA 89.00000
0.5000000 0.8673469 L19 59 58 NA NA 30 NA NA NA NA NA NA 30.00000
0.2638889 0.4387755 L2 60 59 NA NA 72 NA NA NA NA NA NA 72.00000
0.2597403 0.4285714 L20 61 60 NA NA 77 NA NA NA NA NA NA 77.00000
0.2656250 0.4489796 L21 62 61 NA NA 64 NA NA NA NA NA NA 64.00000
0.6185567 0.9081633 L22 63 62 NA NA 97 NA NA NA NA NA NA 97.00000
0.6818182 0.9489796 L26 64 63 NA NA 66 NA NA NA NA NA NA 66.00000
0.2962963 0.5102041 L28 65 64 NA NA 27 NA NA NA NA NA NA 27.00000
0.3103448 0.5510204 L3 66 65 NA NA 58 NA NA NA NA NA NA 58.00000
0.7704918 0.9795918 L4 67 66 NA NA 122 NA NA NA NA NA NA 122.00000
0.2285714 0.3673469 L5 68 67 NA NA 70 NA NA NA NA NA NA 70.00000
0.4565217 0.8163265 L6 69 68 NA NA 46 NA NA NA NA NA NA 46.00000
0.0099010 0.0204082 RA2060 70 70 NA NA 101 NA NA NA NA NA NA 101.00000
0.7692308 0.9693878 RA2070 71 71 NA NA 13 NA NA NA NA NA NA 13.00000
0.2222222 0.3367347 RA2090 72 72 NA NA 36 NA NA NA NA NA NA 36.00000
0.2968750 0.5204082 RA2100 73 73 NA NA 64 NA NA NA NA NA NA 64.00000
0.3442623 0.6020408 RA2110 74 74 NA NA 61 NA NA NA NA NA NA 61.00000
0.7159091 0.9591837 RA2120 75 75 NA NA 88 NA NA NA NA NA NA 88.00000
0.8108108 0.9897959 RA2130 76 76 NA NA 74 NA NA NA NA NA NA 74.00000
0.3018868 0.5306122 RA2140 77 77 NA NA 53 NA NA NA NA NA NA 53.00000
NA NA RA2150 78 78 NA NA 9 NA NA NA NA NA NA 9.00000
NA NA RA2160 79 80 NA NA 34 NA NA NA NA NA NA 34.00000
0.5000000 0.8673469 RA217 80 81 NA NA 8 NA NA NA NA NA NA 8.00000
0.2903226 0.5000000 RA2200 81 82 NA NA 93 NA NA NA NA NA NA 93.00000
0.3623188 0.6632653 RA2210 82 83 NA NA 69 NA NA NA NA NA NA 69.00000
0.6111111 0.8877551 RA2220 83 84 NA NA 72 NA NA NA NA NA NA 72.00000
0.2348485 0.3877551 RA2230 84 85 NA NA 132 NA NA NA NA NA NA 132.00000
0.3684211 0.6938776 RA2300 85 86 NA NA 38 NA NA NA NA NA NA 38.00000
0.1944444 0.2857143 RA2320 86 87 NA NA 72 NA NA NA NA NA NA 72.00000
0.3473684 0.6122449 RA2330 87 88 NA NA 95 NA NA NA NA NA NA 95.00000
0.0555556 0.1326531 RA2340 88 89 NA NA 54 NA NA NA NA NA NA 54.00000
0.0238095 0.0714286 RA2350 89 90 NA NA 84 NA NA NA NA NA NA 84.00000
0.1836735 0.2755102 RA2360 90 91 NA NA 49 NA NA NA NA NA NA 49.00000
0.1206897 0.2040816 RA2370 91 92 NA NA 58 NA NA NA NA NA NA 58.00000
0.2727273 0.4693878 RA2380 92 93 NA NA 55 NA NA NA NA NA NA 55.00000
0.0238095 0.0714286 RA2390 93 94 NA NA 126 NA NA NA NA NA NA 126.00000
0.1627907 0.2653061 RA2400 94 95 NA NA 86 NA NA NA NA NA NA 86.00000
0.2061856 0.3061224 RA2410 95 96 NA NA 97 NA NA NA NA NA NA 97.00000
0.9375000 1.0000000 RA2420 96 97 NA NA 48 NA NA NA NA NA NA 48.00000
0.2837838 0.4897959 RA2430 97 98 NA NA 74 NA NA NA NA NA NA 74.00000
0.0107527 0.0306122 RA2440 98 99 NA NA 93 NA NA NA NA NA NA 93.00000
0.0136986 0.0408163 RA2450 99 100 NA NA 73 NA NA NA NA NA NA 73.00000
0.4098361 0.7448980 RA2460 100 101 NA NA 61 NA NA NA NA NA NA 61.00000
NA NA RA2470 101 102 NA NA 67 NA NA NA NA NA NA 67.00000
0.0500000 0.1122449 RA2480 102 103 NA NA 40 NA NA NA NA NA NA 40.00000
NA NA RA2500 103 104 NA NA 116 NA NA NA NA NA NA 116.00000
0.0175439 0.0510204 RA2510 104 105 NA NA 57 NA NA NA NA NA NA 57.00000
NA NA RA2520 105 106 NA NA 27 NA NA NA NA NA NA 27.00000
NA NA RA2530 106 107 NA NA 95 NA NA NA NA NA NA 95.00000
0.2535211 0.4183673 RA2550 107 108 NA NA 71 NA NA NA NA NA NA 71.00000

TODO

Stump data

Finally, I checked to see which plots had stump data, because I think these are the plots that were of concern previously.

id t_idxn
3A PRE_1
3A POSTRX_1
3A POSTRX_2
9A POST_1
9A POST_2
9B POST_1
9B POST_2
L10 PRE_2
L11 POST_1
L11 POST_2
L12 PRE_1
L12 POST_1
L12 POST_2
L13 PRE_1
L13 POST_1
L13 POST_2
L16 PRE_1
L18 POST_1
L18 POST_2
L2 PRE_1
L23 PRE_1
L23 POST_1
L23 POST_2
L24 PRE_1
L24 POST_1
L24 POST_2
L25 POST_1
L25 POST_2
L27 POST_1
L27 POST_2
L29 PRE_2
L29 POST_1
L29 POST_2
L7 PRE_1
L7 PRE_2
L7 POST_1
L8 PRE_1
L8 PRE_2
L8 POST_1
L8 POST_2
L9 POST_1
L9 POST_2
RA1010 PRE_1
RA1010 POST_1
RA1010 POST_2
RA1110 PRE_1
RA1110 POSTRX_1
RA1110 POSTRX_2
RA1210 PRE_1
RA1210 POST_1
RA1310 PRE_1
RA1310 POST_1
RA1310 POST_2
RA1310 POST_3
RA1410 POST_1
RA1410 POST_2
RA1510 POST_1
RA1510 POST_2
RA1610 POST_1
RA1610 POST_2
RA178 PRE_1
RA178 POST_1
RA178 POST_2
RA181 PRE_1
RA181 POST_1
RA181 POST_2
RA191 PRE_1
RA191 POST_1
RA191 POST_2
RA2010 PRE_1
RA2010 POST_1
RA2010 POSTRX_1
RA2020 PRE_1
RA2020 POSTRX_1
RA2020 POSTRX_2
RA2030 PRE_1
RA2030 POSTRX_1
RA2030 POSTRX_2
RA2050 PRE_1
RA2050 POSTRX_1
RA2050 POSTRX_2
RA2060 PRE_1
RA2080 POSTRX_1
RA2090 PRE_1
RA2130 PRE_1
RA217 PRE_1
RA2170 POST_1
RA2170 POST_2
RA2180 PRE_1
RA2180 POST_1
RA2180 POST_2
RA219 PRE_1
RA219 POSTRX_1
RA219 POSTRX_2
RA2190 POST_1
RA2190 POST_2
RA2200 PRE_1
RA2210 PRE_1
RA2240 POST_1
RA2240 POST_2
RA2310 PRE_1
RA2310 POSTRX_1
RA2310 POSTRX_2
RA2330 PRE_1
RA2340 PRE_1
RA2350 PRE_1
RA2360 PRE_1
RA2370 PRE_1
RA2380 PRE_1
RA2390 PRE_1
RA2400 PRE_1
RA2410 PRE_1
RA2430 PRE_1
RA2440 PRE_1
RA2450 PRE_1
RA2460 PRE_1
RA2470 PRE_1
RA2480 PRE_1
RA2490 PRE_1
RA2490 POSTRX_1
RA2490 POSTRX_2
RA2500 PRE_1
RA251 PRE_1
RA251 POST_1
RA251 POST_2
RA2510 PRE_1
RA2520 PRE_1
RA2530 PRE_1
RA2560 PRE_1
RA2560 POSTRX_2
RA261 PRE_1
RA261 POST_1
RA261 POST_2
RA271 PRE_1
RA271 POST_1
RA271 POST_2
RA281 PRE_1
RA281 POST_1
RA281 POST_2
RA301 PRE_1
RA301 POST_1
RA301 POST_2
RA310 PRE_1
RA310 POST_1
RA310 POST_2
RA410 PRE_1
RA410 POST_1
RA410 POST_2
RA510 PRE_1
RA510 POST_1
RA510 POST_2
RA610 PRE_1
RA610 POST_1
RA610 POSTRX_1
RA610 POSTRX_2
RA710 POST_1
RA710 POSTRX_1
RA710 POST_2
RA810 PRE_1
RA810 POST_1
RA9D POST_1
RA9D POST_2

78 unique sites here, and some have stumps recorded on multiple plot visits. That is a lot. I’m also seeing a lot of stump data in the pretreatment measurements. I’m not sure why that’s even there. Wasn’t there a way to see which stumps were “old”?

Plotting stump data

Here’s a visualization of a “stump” plot.

# filter data 
data <- overstory %>%
  filter(id == "RA251") %>% 
  mutate(stump = case_when(
    status == "S" ~ "Stump", 
    .default = "Tree"
  ))

# create the plot
ggplot(data, aes(x = x, y = y, fill = t_idxn, size = dbh, shape = stump)) +
  geom_point(alpha = 0.5) +
  labs(title = paste("Plot RA251"),
       x = "Midline distance",
       y = "N/S distance") +
  theme_minimal() +
  coord_cartesian(xlim = c(-2, 166), ylim = c(-84, 84)) + 
  scale_shape_manual(values = c(22, 21)) +
  guides(fill=guide_legend(override.aes=list(shape=21))) 

# filter data 
data <- overstory %>%
  filter(id == "3A") %>% 
  mutate(stump = case_when(
    status == "S" ~ "Stump", 
    .default = "Tree"
  ))

# create the plot
ggplot(data, aes(x = x, y = y, fill = t_idxn, size = dbh, shape = stump)) +
  geom_point(alpha = 0.5) +
  labs(title = paste("Plot 3A"),
       x = "Midline distance",
       y = "N/S distance") +
  theme_minimal() +
  coord_cartesian(xlim = c(-2, 166), ylim = c(-84, 84)) + 
  scale_shape_manual(values = c(22, 21)) +
  guides(fill=guide_legend(override.aes=list(shape=21))) 

Overview plots

Some simple statistical analyses to support the plots

summary(cars)
##      speed           dist       
##  Min.   : 4.0   Min.   :  2.00  
##  1st Qu.:12.0   1st Qu.: 26.00  
##  Median :15.0   Median : 36.00  
##  Mean   :15.4   Mean   : 42.98  
##  3rd Qu.:19.0   3rd Qu.: 56.00  
##  Max.   :25.0   Max.   :120.00