Modified 2025-12-23 @ 08:26
HAT Logo Examples
Change size format in URL https://images.squarespace-cdn.com/content/v1/5e3c5b7e5460c55405a6d4d6/a8c2fb30-96fd-4042-925f-e76c7040dce6/Black+Logo+2.png?format=5w
- poor resolution
library(tidyverse)## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.2
## ✔ ggplot2 3.4.0 ✔ tibble 3.2.1
## ✔ lubridate 1.9.3 ✔ tidyr 1.3.0
## ✔ 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(plotly)##
## Attaching package: 'plotly'
##
## The following object is masked from 'package:ggplot2':
##
## last_plot
##
## The following object is masked from 'package:stats':
##
## filter
##
## The following object is masked from 'package:graphics':
##
## layout
library(htmlwidgets)
library(stats) # for aggregate function mean
library(gridExtra) # combine plots##
## Attaching package: 'gridExtra'
##
## The following object is masked from 'package:dplyr':
##
## combine
# 3 Sites from HAT Covenants website
HAT_sites <- read.csv("data/HAT-Sites.csv")
HAT_sites## ID Site Lat Lng Municipality
## 1 OHP Oak Haven Park 48.56419 -123.4471 Central Saanich
## 2 HP Havenwood Park 48.41376 -123.5071 Colwood
## 3 MCA Matson Conservation Area 48.42930 -123.3954 Esquimalt
## FirstNations Park_Creation
## 1 W̱SÁNEĆ 1997
## 2 Songhees, Esquimalt, WSANEC, Beecher Bay, T'Sou-ke 2002
## 3 Songhees, Esquimalt NA
## HAT_Status Date
## 1 Co-Covenant 2004
## 2 Co-Covenant NA
## 3 Donation by Mandalay Developments Ltd. 2004
## Co_Covenant Size_ha
## 1 Land Conservancy 10.2
## 2 City of Colwood 16.5
## 3 Nature Conservancy of Canada; Township of Esquimalt NA
## Ecosystems
## 1
## 2 5 wetlands; 3 small streams; 7 bedrock outcroppings
## 3 Garry oak ecosystem
## Funding
## 1
## 2
## 3 TD FEF; Sitka Foundation; Conservation Economic Stimulus Initiative; Habitat Conservation Trust Foundation; Environment and Climate Change Canada; Esquimalt Property Tax Exemption
## Volunteer_Stewardship
## 1
## 2 Friends of Havenwood Park
## 3 Friends of Matson Lands
# Warning in read.table(file = file, header = header, sep = sep, quote = quote, : incomplete final line found by readTableHeader on 'data/HAT-Sites.csv'
## creating a dataframe all columns need to be of equal length - gave the empty columns NA value >> still get this message???
# Oak Haven Meta Data
oakhaven_2025_metadata <- read.csv("data/HAT-OH-MetaData.csv")
oakhaven_2025_metadata## ExSpTabTitle Site Transect.Baseline
## 1 2025 Oak Haven Treated #1 Oak Haven transect base line #1 - treated area
## 2 2025 Oak Haven UnTreated #1 Oak Haven Transect baseline #1 untreated
## 3 2025 Oak Haven Untreated #2 Oak Haven Transect baseline #2 untreated
## 4 2025 Oak Haven Treated #2 Oak Haven transect base line #1 - treated area
## Lat.and.Long.of.Baseline.startpoint
## 1 48.56456 -123.44570
## 2 48.56401, -123.44773
## 3 48.56401, -123.44773
## 4 48.56456 -123.44570
## Description
## 1 Started transect point starting at mossy log base of dead tree, at mossy branch sticking out upwards, transect line facing 296* NW.
## 2 Standing next to solo Garry oak in open meadow, near cluster of mossy rocks, facing upslope 10* North.
## 3 Standing next to solo Garry oak in open meadow, near cluster of mossy rocks, facing upslope 10* North.
## 4 Started transect point starting at mossy log base of dead tree, at mossy branch sticking out upwards, transect line facing 296* NW.
## Length.of.transect Direction.of.transect.from.baseline.start.point
## 1 9m 296* NW
## 2 15 m 10 * N
## 3 15 m 10 * N
## 4 9m 296* NW
## Treated.year.or.Untreated Date Participants
## 1 Treated 2024 2025-04-02 Dana Jonhson, Lauren McIndoe
## 2 Untreated 2025-04-03 Dana J, Lauren M
## 3 Untreated 2025-04-03 Chelsea & Hannah
## 4 Treated 2024 2025-04-02 Chelsea & Hannah
# Warning in read.table(file = file, header = header, sep = sep, quote = quote, : incomplete final line found by readTableHeader on 'data/HAT-OH-MetaData.csv'
# Oak Haven Cover data 2025
## cleaned and wrangled from file
## Meadow Monitoring Spreadsheet 2025.xlsx
## HAT-Meadow Monitoring Spreadsheet 2025 - Oak Haven Park example.xlsx
# HAT-MeadowMonitoring-2025-OakHaven.xlsx
## change invasive grass to mixed grass
oakhaven_2025_cover <- read.csv("data/HAT-MeadowMonitoring-2025-OakHaven.csv")
# oakhaven_2025_cover
# OH Presence Data from GRP Project Site #71
# species presence reference
OH_GRP_Sp_Presence <- read.csv("data/GRP-Site-SpeciesCover-Presence-SQL-OHP-72.csv")
# Oak Haven Timeline
OH_timeline <- read.csv("data/Timeline-OH.csv")
OH_timeline## What When EventType Where
## 1 OHP Monitoring Cover 2025-04-02 Cover_Monitor Oak Haven Park
## 2 OHP Monitoring Cover 2025-04-03 Cover_Monitor Oak Haven Park
## 3 OHP Treatment 2024-04-02 Treatment_Event Oak Haven Park
## 4 HP Park Creation 2002-01-01 Park_Created Havenwood Park
## 5 MCA Park Creation 1997-01-01 Park_Created Matson Conservation Area
## 6 OHP Covenant Creation 2004-01-01 Covenant_Creation Oak Haven Park
## LocationID group end
## 1 OHP monitoring NA
## 2 OHP monitoring NA
## 3 OHP treatment NA
## 4 HP park_creation NA
## 5 MCA park_creation NA
## 6 OHP covenant_creation NA
# Oak Haven Timeline for timevis
Timeline_OH_vis <- read.csv("data/OH_timeline_date_timevis.csv", header = TRUE, sep = ",")
Timeline_OH_vis## content start EventType Where
## 1 OHP Monitoring Cover 2025-04-02 Cover_Monitor Oak Haven Park
## 2 OHP Monitoring Cover 2025-04-03 Cover_Monitor Oak Haven Park
## 3 OHP Treatment 2024-04-02 Treatment_Event Oak Haven Park
# Warning in read.table(file = file, header = header, sep = sep, quote = quote, : incomplete final line found by readTableHeader on 'data/Timeline-OH.csv'
### HAT data 2025-11-17
# Volunteer Events
HAT_data_Volevents <- read.csv("data/2024-HabitatRestorationWorkbook-VolEvents.csv", header = TRUE, sep = ",")
HAT_data_Volevents## Date Event Partner
## 1 2024-04-21 Earth Day Restoration at Oak Haven Park Central Saanich
## 2 2023-12-01 lekwungen Community Toolshed Maplebank Cheryl Bryce
## 3 2024-04-27 lekwungen Community Toolshed Maplebank Cheryl Bryce
## 4 2024-06-09 lekwungen Community Toolshed Maplebank Cheryl Bryce
## 5 2024-08-16 lekwungen Community Toolshed Maplebank Cheryl Bryce
## 6 2024-09-22 lekwungen Community Toolshed Maplebank Cheryl Bryce
## 7 2024-10-25 lekwungen Community Toolshed Maplebank Cheryl Bryce
## 8 2024-11-15 lekwungen Community Toolshed Maplebank Cheryl Bryce
## 9 2024-03-27 SNIDCEL Resiliency Project PEPAKEN HAUTW
## 10 2024-05-22 SNIDCEL Resiliency Project PEPAKEN HAUTW
## 11 2024-06-19 SNIDCEL Resiliency Project PEPAKEN HAUTW
## 12 2024-07-17 SNIDCEL Resiliency Project PEPAKEN HAUTW
## 13 2024-08-14 SNIDCEL Resiliency Project PEPAKEN HAUTW
## 14 2024-09-17 SNIDCEL Resiliency Project PEPAKEN HAUTW
## 15 2024-10-15 SNIDCEL Resiliency Project PEPAKEN HAUTW
## 16 2024-11-19 SNIDCEL Resiliency Project PEPAKEN HAUTW
## 17 2023-11-10 WSI,KEM Ivy Project Sarah Jim
## 18 2023-02-21 WSI,KEM Ivy Project Sarah Jim
## 19 2024-03-30 WSI,KEM Ivy Project Sarah Jim
## 20 2024-04-26 WSI,KEM Ivy Project Sarah Jim
## 21 2024-05-31 WSI,KEM Ivy Project Sarah Jim
## 22 2024-06-14 WSI,KEM Ivy Project Sarah Jim
## 23 2024-07-26 WSI,KEM Ivy Project Sarah Jim
## 24 2024-08-30 WSI,KEM Ivy Project Sarah Jim
## 25 2024-09-27 WSI,KEM Ivy Project Sarah Jim
## 26 2024-10-26 WSI,KEM Ivy Project Sarah Jim
## 27 2024-11-30 WSI,KEM Ivy Project Sarah Jim
## Volunteers Volunteer.Hours Notes
## 1 21 84
## 2 40 120
## 3 25 75
## 4 50 150
## 5 25 75
## 6 42 126
## 7 28 84
## 8 0 0
## 9 20 80
## 10 22 88
## 11 11 44
## 12 17 68
## 13 15 60
## 14 8 32
## 15 9 36
## 16 0 0
## 17 41 164
## 18 35 140 with Leigh Joseph
## 19 25 100 with Special Bird Service
## 20 39 156
## 21 49 196
## 22 29 116
## 23 32 128
## 24 38 152
## 25 47 188
## 26 36 144
## 27 0 0
### SAR
HAT_data_SAR <- read.csv("data/2024-HabitatRestorationWorkbook-SAR.csv", header = TRUE, sep = ",")
# Error in type.convert.default(data[[i]], as.is = as.is[i], dec = dec, : invalid multibyte string at '<ca>San<69>cula bipinnatifida'
# had space in front ?
HAT_data_SAR## Date.Observed Scientific.Name Common.Name Designation
## 1 02-May Sanicula bipinnatifida Purple Sanicle S2, Red, T,
## 2 03-May Ranunculus alismifolius Plantainleaf Buttercup S1, Red, E
## 3 10-May Contopus cooperi Olive-sided flycatcher S4B, SC, blue
## 4 10-May Hirundo rustica Barn swallow S4B
## 5 14-May Neoclytus conjunctus Western ash borer S1S3, N1N3
## 6 04-Jun Contopus cooperi Olive-sided flycatcher S4B, SC, blue
## 7 20-Jun Contopus cooperi Olive-sided flycatcher S4B, SC, blue
## 8 26-Jun Juniperis maritima Seaside Juniper S4S5, Yellow
## 9 01-Jul Patagioenus fasciata Band-tailed pigeon S3S4, SC, blue
## 10 01-Jul Contopus cooperi Olive-sided flycatcher S4B, SC, blue
## 11 01-Jul Hirundo rustica Barn swallow S4B
## 12 03-Jul Patagioenus fasciata Band-tailed pigeon S3S4, SC, blue
## 13 03-Jul Hirundo rustica Barn swallow S4B
## 14 08-Jul Contopus cooperi Olive-sided flycatcher S4B, SC, blue
## 15 12-Jul Patagioenus fasciata Band-tailed pigeon S3S4, SC, blue
## 16 12-Jul Contopus cooperi Olive-sided flycatcher S4B, SC, blue
## 17 15-Jul Progne subis Purple martin S3S4B, blue
## 18 20-Aug Hirundo rustica Barn swallow S4B
## 19 29-Aug Balsamorhiza deltoidea deltoid balsamroot S2, E, Red
## 20 04-Sep Patagioenus fasciata Band-tailed pigeon S3S4, SC, blue
## 21 10-Oct Contopus cooperi Olive-sided flycatcher S4B, SC, blue
## 22 09-Oct Biden amplissima Beggarticks S3, blue
## 23 24-Oct Epilobium densiflorum Dense spike primrose
## 24 25-Oct Juniperis maritima Seaside Juniper S4S5, Yellow
## 25 23-Oct Patagioenus fasciata Band-tailed pigeon S3S4, SC, blue
## Site Coordinates..if.available.
## 1 Uplands park-Oak bay park 48.4397883333, -123.2942416667
## 2 Uplands park-Oak bay park 48.44082, -123.2991783333
## 3 Rocky Point N/A
## 4 Rocky Point N/A
## 5 Kindwood 48.5113916667, -123.497275
## 6 Yates property N/A
## 7 Oakhaven N/A
## 8 ITC covenant-Pender Island 48.73682, -123.23254
## 9 Camas Hill N/A
## 10 Camas Hill N/A
## 11 Camas Hill N/A
## 12 Camas Hill N/A
## 13 Camas Hill N/A
## 14 Maple Mountain N/A
## 15 Maple Mountain N/A
## 16 Maple Mountain N/A
## 17 Little D'Arcy N/A
## 18 Reginald Hill N/A
## 19 Goldstream park 48.468, -123.543
## 20 CGOP N/A
## 21 Matson Conservation Area 48.428, -123.394
## 22 _IKEL N/A
## 23 Rocky point
## 24 Maplebank N/A
## 25 Rocky Point N/A
## Notes
## 1
## 2
## 3 Five
## 4 One
## 5 Multiple adults performing behaviour on fallen Arbutus log
## 6 Heard the fly-catch song several times (June 3,4 & 7) however didn't see them; no coordinates were recorded
## 7 Heard the fly-catch song several times (June 5-6 & 20-21)) however didn't see them; no coordinates were recorded
## 8 Shrub found on a private property covenant
## 9 One
## 10 One
## 11 Two
## 12 Seven individuals
## 13 Seven individuals
## 14 Two individuals
## 15 Two individuals
## 16 Two individuals
## 17 Two
## 18 Seven individuals
## 19 There was a few different patches at the two sites we worked on at Goldstream park.Goldestream has the CRD's largest population of Balsamroot
## 20 Five individuals, flyover
## 21 Hannah saw one individual
## 22 Dense field of Biden in wetland area
## 23 Few remaining in vernal pools in meadow
## 24 1 individual on the coast
## 25
### FOHP
HAT_data_FOHP <- read.csv("data/2024-HabitatRestorationWorkbook-FOHP.csv", header = TRUE, sep = ",")
HAT_data_FOHP## Date number.of.volunteers hours total.hours biomass.removed area.cleared
## 1 27-Oct 12 2 24 2 150
## 2 28-Jul 4 2 8 2 100
## 3 23-Jun 4 2 8 2 80
## 4 26-May 5 2 10 3 100
## 5 21-Apr 12 2 24 8 120
## 6 31-Mar 5 2 10 3 90
### SITES SAR
library(readr)
HAT_data_Sites_SAR <- readr::read_csv("data/2024-HabitatRestorationWorkbook-Sites-SAR.csv")## Rows: 24 Columns: 7
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (4): Partner, Site, Area of Invasive Weed Control - ha, Species at Risk ...
## dbl (3): HAT corrected areas - ha, Number of Days, Number of SAR
##
## ℹ 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.
# Error in type.convert.default(data[[i]], as.is = as.is[i], dec = dec, : invalid multibyte string at '<ca>'
# Nature Conservancy of Canada Cowichan Garry Oak Preserve
# - **only the Haida Gwaii subspecies of stellar jays (carlottae) is listed -HH
# don't know what to do with this?
HAT_data_Sites_SAR## # A tibble: 24 × 7
## Partner Site Area of Invasive Wee…¹ HAT corrected areas …² `Number of Days`
## <chr> <chr> <chr> <dbl> <dbl>
## 1 BC Parks "Gol… "4.4" 0.5 2
## 2 BC Parks "Bel… "0.15" 0.15 5
## 3 Distric… "Map… "53.6" 2.5 5
## 4 Distric… "Nat… "38.8" 2.5 5
## 5 The Nat… "Mou… "\xca" 1 2
## 6 City of… "Har… "12.3" 1 2
## 7 Nature … "Cha… "2.21" 2.21 10
## 8 Nature … "Cow… "1.39" 1.39 10
## 9 Nature … "Kin… "2.57" 2.57 5
## 10 Nature … "Loh… "0.95" 0.95 2
## # ℹ 14 more rows
## # ℹ abbreviated names: ¹`Area of Invasive Weed Control - ha`,
## # ²`HAT corrected areas - ha`
## # ℹ 2 more variables: `Number of SAR` <dbl>, `Species at Risk on Site` <chr>
HAT_data_sched <- read.csv("data/2024-HabitatRestorationWorkbook-Schedule.csv", header = TRUE, sep = ",")
HAT_data_sched## Date
## 1 01-May
## 2 02-May
## 3 03-May
## 4 04-May
## 5 06-May
## 6 07-May
## 7 08-May
## 8 09-May
## 9 10-May
## 10 11-May
## 11 12-May
## 12 13-May
## 13 14-May
## 14 15-May
## 15 16-May
## 16 17-May
## 17 18-May
## 18 19-May
## 19 20-May
## 20 21-May
## 21 22-May
## 22 23-May
## 23 24-May
## 24 25-May
## 25 26-May
## 26 27-May
## 27 28-May
## 28 29-May
## 29 30-May
## 30 31-May
## 31 01-Jun
## 32 02-Jun
## 33 03-Jun
## 34 04-Jun
## 35 05-Jun
## 36 06-Jun
## 37 07-Jun
## 38 08-Jun
## 39 09-Jun
## 40 10-Jun
## 41 11-Jun
## 42 12-Jun
## 43 13-Jun
## 44 14-Jun
## 45 15-Jun
## 46 16-Jun
## 47 17-Jun
## 48 18-Jun
## 49 19-Jun
## 50 20-Jun
## 51 21-Jun
## 52 22-Jun
## 53 23-Jun
## 54 24-Jun
## 55 25-Jun
## 56 26-Jun
## 57 27-Jun
## 58 28-Jun
## 59 29-Jun
## 60 30-Jun
## 61 01-Jul
## 62 02-Jul
## 63 03-Jul
## 64 04-Jul
## 65 05-Jul
## 66 06-Jul
## 67 07-Jul
## 68 08-Jul
## 69 09-Jul
## 70 10-Jul
## 71 11-Jul
## 72 12-Jul
## 73 13-Jul
## 74 14-Jul
## 75 15-Jul
## 76 16-Jul
## 77 17-Jul
## 78 18-Jul
## 79 19-Jul
## 80 20-Jul
## 81 21-Jul
## 82 22-Jul
## 83 23-Jul
## 84 24-Jul
## 85 25-Jul
## 86 26-Jul
## 87 27-Jul
## 88 28-Jul
## 89 29-Jul
## 90 30-Jul
## 91 31-Jul
## 92 01-Aug
## 93 02-Aug
## 94 03-Aug
## 95 04-Aug
## 96 05-Aug
## 97 06-Aug
## 98 07-Aug
## 99 08-Aug
## 100 09-Aug
## 101 10-Aug
## 102 11-Aug
## 103 12-Aug
## 104 13-Aug
## 105 14-Aug
## 106 15-Aug
## 107 16-Aug
## 108 17-Aug
## 109 18-Aug
## 110 19-Aug
## 111 20-Aug
## 112 21-Aug
## 113 22-Aug
## 114 23-Aug
## 115 24-Aug
## 116 25-Aug
## 117 26-Aug
## 118 27-Aug
## 119 28-Aug
## 120 28-Aug
## 121 29-Aug
## 122 30-Aug
## 123 31-Aug
## 124 01-Sep
## 125 02-Sep
## 126 03-Sep
## 127 04-Sep
## 128 05-Sep
## 129 06-Sep
## 130 07-Sep
## 131 08-Sep
## 132 09-Sep
## 133 10-Sep
## 134 11-Sep
## 135 12-Sep
## 136 13-Sep
## 137 14-Sep
## 138 15-Sep
## 139 16-Sep
## 140 17-Sep
## 141 18-Sep
## 142 19-Sep
## 143 20-Sep
## 144 21-Sep
## 145 22-Sep
## 146 23-Sep
## 147 24-Sep
## 148 25-Sep
## 149 26-Sep
## 150 27-Sep
## 151 28-Sep
## 152 29-Sep
## 153 30-Sep
## 154 01-Oct
## 155 02-Oct
## 156 03-Oct
## 157 04-Oct
## 158 05-Oct
## 159 06-Oct
## 160 07-Oct
## 161 08-Oct
## 162 09-Oct
## 163 10-Oct
## 164 11-Oct
## 165 12-Oct
## 166 13-Oct
## 167 14-Oct
## 168 15-Oct
## 169 16-Oct
## 170 17-Oct
## 171 18-Oct
## 172 19-Oct
## 173 20-Oct
## 174 21-Oct
## 175 22-Oct
## 176 23-Oct
## 177 24-Oct
## 178 25-Oct
## 179 26-Oct
## 180 27-Oct
## 181 28-Oct
## 182 29-Oct
## 183 30-Oct
## 184 31-Oct
## 185
## 186 01-Nov
## 187
## 188
## 189 04-Nov
## 190 05-Nov
## 191 06-Nov
## 192 07-Nov
## 193 08-Nov
## 194 09-Nov
## 195
## 196 11-Nov
## 197 12-Nov
## 198 13-Nov
## 199 14-Nov
## 200 15-Nov
## 201
## 202
## 203 18-Nov
## 204 19-Nov
## 205 20-Nov
## 206 21-Nov
## 207 22-Nov
## 208
## 209
## 210 25-Nov
## 211 26-Nov
## 212 27-Nov
## 213 28-Nov
## 214 29-Nov
## 215 30-Nov
## Site
## 1
## 2
## 3
## 4
## 5
## 6
## 7
## 8
## 9 Rocky Point
## 10
## 11
## 12 Kindwood
## 13 Kindwood
## 14 Kindwood
## 15 Goldenback Fern
## 16 Goldenback Fern
## 17
## 18
## 19 VICTORIA DAY STAT
## 20 Yates
## 21 S_ID_E_
## 22 Yates
## 23 Saanich Parks
## 24
## 25
## 26 Saanich Parks
## 27 Saanich Parks
## 28 Saanich Parks
## 29 Saanich Parks
## 30 W_S\xea\xfc_EM Ivy Project
## 31
## 32
## 33 Yates
## 34 Yates
## 35 Oak Haven Park
## 36 Oak Haven Park
## 37 Yates
## 38
## 39
## 40 Bear Hill Special Mission
## 41 Oak Haven Park
## 42
## 43 Kindwood
## 44 W_S\xea\xfc_EM Ivy Project
## 45
## 46
## 47 NCC Flex
## 48 NCC Flex
## 49 S_ID_E_
## 50 Oak Haven Park
## 51 Oak Haven Park
## 52
## 53
## 54 Lohbrunner Woods
## 55 Medicine Beach (Pender Island)
## 56 Medicine Beach (Pender Island)
## 57 Medicine Beach (Pender Island)
## 58 HAT Other
## 59
## 60
## 61 CANADA DAY STAT
## 62 Camas Hill
## 63 Camas Hill
## 64 Camas Hill
## 65 Camas Hill
## 66
## 67
## 68 Maple Mountain
## 69 Maple Mountain
## 70 Maple Mountain
## 71 Maple Mountain
## 72 Maple Mountain
## 73
## 74
## 75 Little D'Arcy
## 76 Bear Hill Special Mission
## 77 S_ID_E_
## 78 HAT Other
## 79
## 80
## 81
## 82
## 83 S_ID_E_
## 84 Matson Conservation Area
## 85 Matson Conservation Area
## 86 W_S\xea\xfc_EM Ivy Project
## 87
## 88
## 89 Oak Bay Parks
## 90 Oak Bay Parks
## 91 Oak Bay Parks
## 92 Oak Bay Parks
## 93 Oak Bay Parks
## 94
## 95
## 96 BC DAY STAT
## 97
## 98 Oak Bay Parks
## 99 Harewood Plains
## 100 Harewood Plains
## 101
## 102
## 103 Oak Bay Parks
## 104 Yates
## 105 S_ID_E_
## 106 Yates
## 107
## 108
## 109
## 110 Reginald Hill (Salt Spring)
## 111 Reginald Hill (Salt Spring)
## 112 Reginald Hill (Salt Spring)
## 113 Reginald Hill (Salt Spring)
## 114 Reginald Hill (Salt Spring)
## 115
## 116
## 117
## 118 Matson Conservation Area
## 119 NCC Flex
## 120 Goldstream Park
## 121 Goldstream Park
## 122 W_S\xea\xfc_EM Ivy Project
## 123
## 124
## 125 LABOUR DAY STAT
## 126 HAT Other
## 127 CGOP
## 128 CGOP
## 129 CGOP
## 130
## 131
## 132 Matson Conservation Area
## 133 CGOP
## 134 Chase Woods
## 135 Chase Woods
## 136 Chase Woods
## 137
## 138
## 139 Chase Woods
## 140 S_ID_E_
## 141 Chase Woods
## 142 Kindwood
## 143 Havenwood
## 144
## 145 Sunday: Maplebank Event
## 146 Mt Tuam
## 147 Mt Tuam
## 148 Mt Tuam
## 149 Mt Tuam
## 150 W_S\xea\xfc_EM Ivy Project
## 151
## 152
## 153 TRUTH AND RECONCILIATION STAT
## 154 Metchosin Mushroom Walk
## 155 Purple Sanicle
## 156 Purple Sanicle
## 157 Purple Sanicle
## 158 GOERT Conference
## 159
## 160 Matson Conservation Area
## 161 Matson Conservation Area
## 162
## 163 Matson Conservation Area
## 164 Matson Conservation Area
## 165
## 166
## 167 THANKSGIVING STAT
## 168 S_ID_E_
## 169 Good Neighbours
## 170 Good Neighbours
## 171 Good Neighbours
## 172
## 173
## 174 Good Neighbours
## 175 Good Neighbours
## 176 Rocky Point
## 177 Rocky Point
## 178
## 179 W_S\xea\xfc_EM Ivy Project
## 180
## 181 Crew Off/Lauren Office
## 182 Purple Sanicle
## 183 Purple Sanicle
## 184 Purple Sanicle
## 185
## 186 Purple Sanicle
## 187
## 188
## 189 Oak Haven Park
## 190 Oak Haven Park
## 191 Oak Haven Park
## 192 Oak Haven Park
## 193 Cowichan Planting
## 194
## 195
## 196 Remembrance Day
## 197 Matson Conservation Area
## 198 M\xe7WUE_ Planting
## 199 Matson Conservation Area
## 200
## 201
## 202
## 203 Oak Haven Park
## 204 S_ID_E_
## 205 Wetland Planting Days at Xwaaqw'um
## 206 _ENI_O_E_SET S_\xe7PE_
## 207 M\xe7WUE_ Planting
## 208
## 209
## 210
## 211
## 212
## 213
## 214
## 215 W_S\xea\xfc_EM Ivy Project
## Partner
## 1
## 2
## 3
## 4
## 5
## 6
## 7
## 8
## 9 Department of Defence
## 10
## 11
## 12 Nature Conservancy of Canada
## 13 Nature Conservancy of Canada
## 14 Nature Conservancy of Canada
## 15 Islands Trust Council
## 16 Islands Trust Council
## 17
## 18
## 19
## 20 Morgan and Carol Yates
## 21 PEPAKEN HAUTW
## 22 Morgan and Carol Yates
## 23 Saanich Parks
## 24
## 25
## 26 Saanich Parks
## 27 Saanich Parks
## 28 Saanich Parks
## 29 Saanich Parks
## 30
## 31
## 32
## 33 Morgan and Carol Yates
## 34 Morgan and Carol Yates
## 35 Central Saanich
## 36 Central Saanich
## 37 Morgan and Carol Yates
## 38
## 39
## 40 HAT
## 41 Central Saanich
## 42
## 43 Nature Conservancy of Canada
## 44 Sarah Jim
## 45
## 46
## 47 Nature Conservancy of Canada
## 48 Nature Conservancy of Canada
## 49
## 50
## 51
## 52
## 53
## 54 Nature Conservancy of Canada
## 55 Islands Trust Council
## 56 Islands Trust Council
## 57 Islands Trust Council
## 58
## 59
## 60
## 61
## 62 HAT
## 63 HAT
## 64 HAT
## 65 HAT
## 66
## 67
## 68 North Cowichan
## 69 North Cowichan
## 70 North Cowichan
## 71 North Cowichan
## 72 North Cowichan
## 73
## 74
## 75 ITC
## 76 HAT
## 77 PEPAKEN HAUTW
## 78
## 79
## 80
## 81
## 82
## 83 PEPAKEN HAUTW
## 84 HAT
## 85 HAT
## 86 Sarah Jim
## 87
## 88
## 89
## 90
## 91
## 92
## 93
## 94
## 95
## 96
## 97
## 98
## 99
## 100
## 101
## 102
## 103
## 104
## 105
## 106
## 107
## 108
## 109
## 110 Nature Conservancy of Canada
## 111 Nature Conservancy of Canada
## 112 Nature Conservancy of Canada
## 113 Nature Conservancy of Canada
## 114 Nature Conservancy of Canada
## 115
## 116
## 117
## 118
## 119 Max Site Visits
## 120
## 121
## 122
## 123
## 124
## 125
## 126
## 127 Nature Conservancy of Canada
## 128 Nature Conservancy of Canada
## 129 Nature Conservancy of Canada
## 130
## 131
## 132 Goldie to machanic, went to Matson instead
## 133 Nature Conservancy of Canada
## 134 Nature Conservancy of Canada
## 135 Nature Conservancy of Canada
## 136 Nature Conservancy of Canada
## 137
## 138
## 139 Nature Conservancy of Canada
## 140
## 141 Nature Conservancy of Canada
## 142 Nature Conservancy of Canada
## 143
## 144
## 145
## 146 ITC
## 147 ITC
## 148 ITC
## 149 ITC
## 150 Sarah Jim
## 151
## 152
## 153
## 154 Also Purple Sanicle Orientation
## 155 Rod and Heidi
## 156 Rod and Heidi
## 157 Rod and Heidi
## 158
## 159
## 160 HAT
## 161 HAT
## 162
## 163 HAT
## 164 HAT
## 165
## 166
## 167
## 168 PEPAKEN HAUTW
## 169 HAT
## 170 HAT
## 171 HAT
## 172
## 173
## 174 HAT
## 175 HAT
## 176 DND
## 177 DND
## 178
## 179
## 180
## 181
## 182 HAT
## 183 HAT
## 184 HAT
## 185 NOVEMBER
## 186 HAT
## 187
## 188
## 189 HAT
## 190 HAT
## 191 HAT
## 192 HAT
## 193 HAT
## 194
## 195
## 196
## 197 HAT
## 198 HAT
## 199 HAT
## 200
## 201
## 202
## 203 HAT
## 204 HAT
## 205 Stqeeye'
## 206 PEPAKEN HAUTW
## 207 HAT
## 208
## 209
## 210
## 211
## 212
## 213
## 214
## 215 Sarah Jim
## Notes
## 1
## 2
## 3
## 4
## 5
## 6
## 7
## 8
## 9 with James Miskelley
## 10
## 11
## 12
## 13
## 14
## 15 Saltspring Day Trip with Jemma 9:00am ferry - 8:00 terminal
## 16 Saltspring Day Trip with Jemma
## 17
## 18
## 19
## 20 Morning Site Orientation with Morgan
## 21
## 22
## 23
## 24
## 25
## 26
## 27
## 28
## 29
## 30
## 31
## 32
## 33 Cont. from last time
## 34 same
## 35 Nina and Neal joining to do covenant monitoring. \nWiley will also be coming out this day, Nina coordinating.\nAsk Wiley about his opinion on priority restoration sites now. \nLots of Daphne in shaded areas.\nShiny Geranium, Bur Chervil, Broom sweep.
## 36 Shiny G
## 37 We are adding an additional day to work on the Yates property.\nThis will be the last day until we return later in August.\nI have confirmed this with Morgan.
## 38
## 39
## 40 Special Mission Day with Kevin - ask Nina for details hehe
## 41
## 42
## 43
## 44 Vanessa leading
## 45
## 46
## 47
## 48
## 49 Nina leading
## 50
## 51 Indigenous peoples day
## 52
## 53
## 54
## 55
## 56
## 57
## 58 Day off
## 59
## 60
## 61
## 62
## 63
## 64 Dana's first day!
## 65
## 66
## 67
## 68 Meet Wylie at 8:30
## 69
## 70
## 71
## 72
## 73
## 74
## 75 Water Taxi (booked by Jemma)
## 76
## 77 volunteer event
## 78 Michael BBQ Day in Saltair Afternoon - Office AM
## 79
## 80
## 81
## 82
## 83 PEPAKEN HAUTW + HAT Staff Day - collab meeting
## 84
## 85
## 86
## 87
## 88
## 89 Walbran Park
## 90 Walbran Park
## 91 Walbran Park
## 92 Walbran Park
## 93 Walbran Park
## 94
## 95
## 96
## 97
## 98 Walbran Park
## 99 Nanaimo
## 100 Nanaimo
## 101
## 102
## 103 Walbran Park
## 104
## 105
## 106 Final Day at Yates Property - snacks and drinks with Carol and Morgan on the patio in the afternoon
## 107
## 108
## 109
## 110
## 111
## 112
## 113
## 114
## 115
## 116
## 117
## 118
## 119
## 120
## 121
## 122
## 123
## 124
## 125
## 126 Funk Covenant (Bring stuff to swim in the lake)
## 127
## 128
## 129
## 130
## 131
## 132
## 133
## 134
## 135
## 136
## 137
## 138
## 139
## 140 PHAT day
## 141
## 142
## 143
## 144
## 145
## 146 Cusheon Lake Resort
## 147 Cusheon Lake Resort
## 148 Cusheon Lake Resort
## 149 Cusheon Lake Resort
## 150
## 151
## 152
## 153
## 154
## 155
## 156
## 157
## 158
## 159
## 160 Site Prep
## 161 Seeding
## 162
## 163
## 164 SNIDCEL Prep afternoon
## 165
## 166
## 167
## 168 PHAT day
## 169 Emily leading
## 170
## 171
## 172
## 173
## 174
## 175
## 176
## 177
## 178
## 179
## 180
## 181
## 182
## 183
## 184
## 185 new hat fiscal year
## 186
## 187
## 188
## 189
## 190
## 191
## 192
## 193
## 194
## 195
## 196
## 197
## 198 Oak Haven in the Afternoon
## 199
## 200
## 201
## 202
## 203
## 204 PHAT day
## 205
## 206
## 207
## 208
## 209
## 210
## 211
## 212
## 213
## 214
## 215
## SAR.to.look.out.for
## 1
## 2
## 3
## 4
## 5
## 6
## 7
## 8
## 9
## 10
## 11
## 12
## 13
## 14
## 15
## 16
## 17
## 18
## 19
## 20
## 21
## 22
## 23
## 24
## 25
## 26
## 27
## 28
## 29
## 30
## 31
## 32
## 33
## 34
## 35
## 36
## 37
## 38
## 39
## 40
## 41 Slimleaf onion, Western Bumblebee (check out iNat)
## 42
## 43 Western Screech Owl (ask Julianna for call playback instruction or tips)
## 44
## 45
## 46
## 47
## 48
## 49
## 50
## 51
## 52
## 53
## 54
## 55
## 56
## 57
## 58
## 59
## 60
## 61
## 62
## 63
## 64
## 65
## 66
## 67
## 68
## 69
## 70
## 71
## 72
## 73
## 74
## 75
## 76
## 77
## 78
## 79
## 80
## 81
## 82
## 83
## 84
## 85
## 86
## 87
## 88
## 89
## 90
## 91
## 92
## 93
## 94
## 95
## 96
## 97
## 98
## 99
## 100
## 101
## 102
## 103
## 104
## 105
## 106
## 107
## 108
## 109
## 110
## 111
## 112
## 113
## 114
## 115
## 116
## 117
## 118
## 119
## 120
## 121
## 122
## 123
## 124
## 125
## 126 Max and Nina Joining
## 127
## 128
## 129
## 130
## 131
## 132
## 133
## 134
## 135
## 136
## 137
## 138
## 139
## 140
## 141
## 142
## 143
## 144
## 145
## 146
## 147
## 148
## 149
## 150
## 151
## 152
## 153
## 154
## 155
## 156
## 157
## 158
## 159
## 160
## 161
## 162
## 163
## 164
## 165
## 166
## 167
## 168
## 169
## 170
## 171
## 172
## 173
## 174
## 175
## 176
## 177
## 178
## 179
## 180
## 181
## 182
## 183
## 184
## 185
## 186
## 187
## 188
## 189
## 190
## 191
## 192
## 193
## 194
## 195
## 196
## 197
## 198
## 199
## 200
## 201
## 202
## 203
## 204
## 205
## 206
## 207
## 208
## 209
## 210
## 211
## 212
## 213
## 214
## 215
## Add.Notes X. Org
## 1 1 HAT
## 2 2 HAT
## 3 3 HAT
## 4 4 HAT
## 5 5 HAT
## 6 NA HAT
## 7 6 ITC
## 8 7 ITC
## 9 8 ITC
## 10 9 ITC
## 11 10 ITC
## 12 11 NCC
## 13 12 NCC
## 14 13 NCC
## 15 14 NCC
## 16 15 NCC
## 17 16 NCC
## 18 NA NCC
## 19 17 Wylie (Oak Bay)
## 20 18 Wylie (Oak Bay)
## 21 19 Wylie (Nanaimo)
## 22 20 Wylie (Cowichan)
## 23 21 Wylie (BC Parks)
## 24 22 PEPAKEN HAUTW
## 25 23 Sarah Jim
## 26 24
## 27 Sara N. Joining 25 Saanich Parks
## 28 26 Saanich Parks
## 29 NA Saanich Parks
## 30 Sara N. Joining 27 Morgan and Carol Yates
## 31 28 Department of Defence
## 32 NA Bear Hill Special Mission
## 33 NA
## 34 Sara N. Joining NA Satinflower
## 35 NA HAT Other
## 36 NA TBD
## 37 Sara N. Joining NA Totals
## 38 NA Bold indicates confirmed with partner
## 39 NA
## 40 NA
## 41 Sara N. Joining NA
## 42 NA
## 43 Danika Off NA
## 44 Danika Off, Sara N. Joining NA
## 45 NA
## 46 NA
## 47 NA
## 48 NA
## 49 Max First Day Back NA
## 50 NA
## 51 Lauren Off NA
## 52 NA
## 53 NA
## 54 NA
## 55 NA
## 56 NA
## 57 NA
## 58 NA
## 59 NA
## 60 NA
## 61 NA
## 62 NA
## 63 NA
## 64 NA
## 65 Chelsea Off, Lauren Off NA
## 66 NA
## 67 NA
## 68 Lauren Off NA
## 69 NA
## 70 NA
## 71 NA
## 72 NA
## 73 NA
## 74 NA
## 75 Chelsea Off NA
## 76 NA
## 77 NA
## 78 Lauren Off NA
## 79 NA
## 80 NA
## 81 NA
## 82 NA
## 83 NA
## 84 NA
## 85 NA
## 86 NA
## 87 NA
## 88 NA
## 89 NA
## 90 NA
## 91 NA
## 92 NA
## 93 Lauren Off NA
## 94 NA
## 95 NA
## 96 NA
## 97 NA
## 98 NA
## 99 NA
## 100 NA
## 101 NA
## 102 NA
## 103 Danika Off NA
## 104 NA
## 105 NA
## 106 NA
## 107 NA
## 108 NA
## 109 NA
## 110 NA
## 111 NA
## 112 NA
## 113 NA
## 114 NA
## 115 NA
## 116 NA
## 117 NA
## 118 NA
## 119 NA
## 120 NA
## 121 NA
## 122 Hannah Off NA
## 123 NA
## 124 NA
## 125 NA
## 126 Hannah Off NA
## 127 NA
## 128 NA
## 129 Chelsea off NA
## 130 NA
## 131 NA
## 132 NA
## 133 NA
## 134 NA
## 135 NA
## 136 NA
## 137 NA
## 138 NA
## 139 NA
## 140 NA
## 141 NA
## 142 NA
## 143 NA
## 144 NA
## 145 NA
## 146 NA
## 147 NA
## 148 NA
## 149 NA
## 150 NA
## 151 NA
## 152 NA
## 153 Lauren Off NA
## 154 Lauren Off NA
## 155 Lauren Off NA
## 156 Lauren Off NA
## 157 Lauren Off NA
## 158 NA
## 159 NA
## 160 Lauren Off NA
## 161 NA
## 162 NA
## 163 NA
## 164 NA
## 165 NA
## 166 NA
## 167 NA
## 168 NA
## 169 NA
## 170 NA
## 171 NA
## 172 NA
## 173 NA
## 174 NA
## 175 NA
## 176 NA
## 177 NA
## 178 NA
## 179 NA
## 180 NA
## 181 NA
## 182 NA
## 183 NA
## 184 NA
## 185 NA
## 186 NA
## 187 NA
## 188 NA
## 189 NA
## 190 NA
## 191 NA
## 192 NA
## 193 NA
## 194 NA
## 195 NA
## 196 NA
## 197 NA
## 198 NA
## 199 NA
## 200 NA
## 201 NA
## 202 NA
## 203 NA
## 204 NA
## 205 NA
## 206 NA
## 207 NA
## 208 NA
## 209 NA
## 210 NA
## 211 NA
## 212 NA
## 213 NA
## 214 NA
## 215 NA
## Site.1 Days.Allocated Days.Scheduled
## 1 Camas Hill 4 4
## 2 Oak Haven Park 5 5
## 3 Matson Conservation Area 5 10
## 4 Havenwood 3 1
## 5 Purple Sanicle 2 7
## 6 Good Neighbours 5 5
## 7 Medicine Beach (Pender Island) 3 3
## 8 Goldenback Fern 2 2
## 9 Mt Tuam 4 4
## 10 Little D'Arcy 1 1
## 11 Vanilla Leaf 0 0
## 12 Lohbrunner 1 1
## 13 Kindwood 5 5
## 14 Chase Woods 5 5
## 15 CGOP 4 4
## 16 Reginald Hill (Salt Spring) 5 5
## 17 Raymond Goodall (Salt Spring) 0 0
## 18 Flex Days 3 3
## 19 Oak Bay Parks 7 7
## 20 Oak Bay - Mary Tod Island 0 0
## 21 Harewood Plains 2 2
## 22 Maple Mountain 5 5
## 23 Goldstream Park 2 2
## 24 S_ID_E_ 5 7
## 25 W_S\xea\xfc_EM Ivy Project 6 6
## 26 NA
## 27 Knockan Park NA
## 28 PKOLS Summit NA
## 29 Various 5 5
## 30 Yates Property 7 7
## 31 Rocky Point 1 3
## 32 Bear Hill 2 2
## 33 NA
## 34 Satinflower Nurseries 0
## 35 3
## 36 0
## 37 99 114
## 38 days total 123
## 39 Left to schedule: 9
## 40 TBD 0
## 41 NA
## 42 NA
## 43 NA
## 44 NA
## 45 NA
## 46 NA
## 47 NA
## 48 NA
## 49 NA
## 50 NA
## 51 NA
## 52 NA
## 53 NA
## 54 NA
## 55 NA
## 56 NA
## 57 NA
## 58 NA
## 59 NA
## 60 NA
## 61 NA
## 62 NA
## 63 NA
## 64 NA
## 65 NA
## 66 NA
## 67 NA
## 68 NA
## 69 NA
## 70 NA
## 71 NA
## 72 NA
## 73 NA
## 74 NA
## 75 NA
## 76 NA
## 77 NA
## 78 NA
## 79 NA
## 80 NA
## 81 NA
## 82 NA
## 83 NA
## 84 NA
## 85 NA
## 86 NA
## 87 NA
## 88 NA
## 89 NA
## 90 NA
## 91 NA
## 92 NA
## 93 NA
## 94 NA
## 95 NA
## 96 NA
## 97 NA
## 98 NA
## 99 NA
## 100 NA
## 101 NA
## 102 NA
## 103 NA
## 104 NA
## 105 NA
## 106 NA
## 107 NA
## 108 NA
## 109 NA
## 110 NA
## 111 NA
## 112 NA
## 113 NA
## 114 NA
## 115 NA
## 116 NA
## 117 NA
## 118 NA
## 119 NA
## 120 NA
## 121 NA
## 122 NA
## 123 NA
## 124 NA
## 125 NA
## 126 NA
## 127 NA
## 128 NA
## 129 NA
## 130 NA
## 131 NA
## 132 NA
## 133 NA
## 134 NA
## 135 NA
## 136 NA
## 137 NA
## 138 NA
## 139 NA
## 140 NA
## 141 NA
## 142 NA
## 143 NA
## 144 NA
## 145 NA
## 146 NA
## 147 NA
## 148 NA
## 149 NA
## 150 NA
## 151 NA
## 152 NA
## 153 NA
## 154 NA
## 155 NA
## 156 NA
## 157 NA
## 158 NA
## 159 NA
## 160 NA
## 161 NA
## 162 NA
## 163 NA
## 164 NA
## 165 NA
## 166 NA
## 167 NA
## 168 NA
## 169 NA
## 170 NA
## 171 NA
## 172 NA
## 173 NA
## 174 NA
## 175 NA
## 176 NA
## 177 NA
## 178 NA
## 179 NA
## 180 NA
## 181 NA
## 182 NA
## 183 NA
## 184 NA
## 185 NA
## 186 NA
## 187 NA
## 188 NA
## 189 NA
## 190 NA
## 191 NA
## 192 NA
## 193 NA
## 194 NA
## 195 NA
## 196 NA
## 197 NA
## 198 NA
## 199 NA
## 200 NA
## 201 NA
## 202 NA
## 203 NA
## 204 NA
## 205 NA
## 206 NA
## 207 NA
## 208 NA
## 209 NA
## 210 NA
## 211 NA
## 212 NA
## 213 NA
## 214 NA
## 215 NA
## Time.Frame X
## 1
## 2
## 3
## 4
## 5
## 6
## 7 Cash
## 8 Cash
## 9 Cash
## 10 Cash
## 11 Cash
## 12 Focus on broom first Cash
## 13 Cash
## 14 Cash
## 15 Cash
## 16 Cash
## 17 Cash
## 18 Cash
## 19 anytime In-kind
## 20 late summer In-kind
## 21 late summer In-kind
## 22 anytime after may In-kind
## 23 late summer In-kind
## 24 In-kind
## 25 In-kind
## 26
## 27
## 28 In-kind
## 29 In-kind
## 30 Cash
## 31 In Kind
## 32
## 33
## 34
## 35
## 36
## 37
## 38
## 39
## 40
## 41
## 42
## 43
## 44
## 45
## 46
## 47
## 48
## 49
## 50
## 51
## 52
## 53
## 54
## 55
## 56
## 57
## 58
## 59
## 60
## 61
## 62
## 63
## 64
## 65
## 66
## 67
## 68
## 69
## 70
## 71
## 72
## 73
## 74
## 75
## 76
## 77
## 78
## 79
## 80
## 81
## 82
## 83
## 84
## 85
## 86
## 87
## 88
## 89
## 90
## 91
## 92
## 93
## 94
## 95
## 96
## 97
## 98
## 99
## 100
## 101
## 102
## 103
## 104
## 105
## 106
## 107
## 108
## 109
## 110
## 111
## 112
## 113
## 114
## 115
## 116
## 117
## 118
## 119
## 120
## 121
## 122
## 123
## 124
## 125
## 126
## 127
## 128
## 129
## 130
## 131
## 132
## 133
## 134
## 135
## 136
## 137
## 138
## 139
## 140
## 141
## 142
## 143
## 144
## 145
## 146
## 147
## 148
## 149
## 150
## 151
## 152
## 153
## 154
## 155
## 156
## 157
## 158
## 159
## 160
## 161
## 162
## 163
## 164
## 165
## 166
## 167
## 168
## 169
## 170
## 171
## 172
## 173
## 174
## 175
## 176
## 177
## 178
## 179
## 180
## 181
## 182
## 183
## 184
## 185
## 186
## 187
## 188
## 189
## 190
## 191
## 192
## 193
## 194
## 195
## 196
## 197
## 198
## 199
## 200
## 201
## 202
## 203
## 204
## 205
## 206
## 207
## 208
## 209
## 210
## 211
## 212
## 213
## 214
## 215
HAT_data_2024_review <- read.csv("data/2024-HabitatRestorationWorkbook-2024-InReview.csv", header = TRUE, sep = ",")
HAT_data_2024_review## X2024.Habitat.Restoration.Field.Season.in.Review X
## 1 NA Crew
## 2 NA 6 Crew Members
## 3 1 Hannah Hickli
## 4 2 Dana Johnson
## 5 3 Lauren McIndoe
## 6 4 Chelsea Nuez
## 7 5 Danika Wraspir
## 8 6 Sara Newman
## 9 NA
## 10 NA
## 11 NA
## 12 NA
## 13 NA
## 14 NA
## 15 NA
## 16 NA
## 17 NA
## 18 NA
## 19 NA
## 20 NA
## 21 NA
## 22 NA
## 23 NA
## 24 NA
## 25 NA
## 26 NA
## 27 NA
## 28 NA
## 29 NA
## 30 NA
## 31 NA
## 32 NA
## 33 NA
## 34 NA
## 35 NA
## 36 NA
## 37 NA
## 38 NA
## 39 NA
## 40 NA
## 41 NA
## 42 NA
## 43 NA
## 44 NA
## 45 NA
## 46 NA
## 47 NA
## 48 NA
## 49 NA
## 50 NA
## 51 NA
## 52 NA
## X.1 X.2
## 1 Partners
## 2 17 Collaborative Partners
## 3 1 BC Parks
## 4 2 City of Nanaimo
## 5 3 Cowichan Tribes
## 6 4 Natural Resources Canada
## 7 5 District of Oak Bay
## 8 6 District of Saanich
## 9
## 10 7 Islands Trust Council
## 11
## 12
## 13
## 14
## 15
## 16
## 17 8 Municipality of North Cowichan
## 18 9 Nature Conservancy of Canada
## 19
## 20
## 21
## 22
## 23 10 PEPAKEṈ HÁUTW
## 24 11 Satinflower Nurseries
## 25 12 Songhees First Nation
## 26
## 27 14 Stqeeye’ Learning Society
## 28 15 Tsartlip First Nation
## 29 16 W̱SÁNEĆ Leadership Council
## 30 17 ̱WS͸ḴEM Ivy Project
## 31
## 32 HAT Covenants
## 33 X HAT
## 34 X HAT
## 35 18 City of Colwood
## 36 19 Township of Esquimalt
## 37 20 Central Saanich
## 38 X HAT
## 39 21 Morgan and Carol Yates
## 40 x HAT
## 41 X Saanich
## 42 X Saanich
## 43 X Saanich
## 44 X Saanich
## 45 X Saanich
## 46
## 47
## 48 Crew Days Worked
## 49 Crew Hours
## 50 Area Cleared (SquareMeters)
## 51 Area Cleared (Hectares)
## 52 Biomass Removed (Meters Cubed)
## X.3 X.4 X.5
## 1 Sites Project Coordinator
## 2 27 Partner Sites + 13 sites = 40 sites
## 3 Goldstream Park 1 Wylie Thomas
## 4 Harewood Plains 2 Wylie Thomas
## 5 Quw’utsun Estuary Revitalization 3 Kristen Miskelly
## 6 Rocky Point 4 James Miskelly
## 7 Walbran Park 5 Wylie Thomas
## 8 Knockan Hill Park 6
## 9 PKOLS 7
## 10 Little D'Arcy Island 8 Jemma Green
## 11 Mt. Tuam Ecological Reserve 9
## 12 Goldenback Fern (Salt Spring Island) 10
## 13 Medicine Beach (Pender Island) 11
## 14 Mt. Tuam Ecological Reserve (Salt Spring Island) 12
## 15 Wallace Point (Pender Island) 13
## 16 Woodwinds (Pender Island) 14
## 17 Maple Mountain 15 Wylie Thomas
## 18 Chase Woods 16 Jon Velarde
## 19 Cowichan Garry Oak Preserve 17
## 20 Kindwood 18
## 21 Lohbrunner Woods 19
## 22 Reginald Hill 20
## 23 SṈIDȻEȽ 21 Judith Lyn Arney
## 24 Quw’utsun Estuary Revitalization X Kristen Miskelly
## 25 Maplebank 22 Cheryl Bryce
## 26 Tl'ches (Cathan Island) 23
## 27 Xwaaqw'um 24 Rachel Bevington
## 28 MÁWUEĆ 25 Michael Desjarlais
## 29 ȾIKEL 26 Eryn Rogers
## 30 Tseycum Forest 27 Sarah Jim
## 31
## 32
## 33 Bear Hill 28 X
## 34 Camas Hill 29 X
## 35 Havenwood Park 30 Carol Brown
## 36 Matson Conservation Area 31 Noah Alexander
## 37 Oak Haven Park 32 Colin Jennings
## 38 Purple Sanicle 33 Rod Mitchell
## 39 Yates 34 Morgan Yates
## 40 Funk 35 Emily
## 41 Good Neighbours Site #1 36
## 42 Good Neighbours Site #2 37
## 43 Good Neighbours Site #3 38
## 44 Good Neighbours Site #4 39
## 45 Good Neighbours Site #5 40
## 46
## 47
## 48 142
## 49 3762.8
## 50 108878.86
## 51 10.88
## 52 384.2
## X.6 X.7
## 1 E-mail HAT Hosted Restoration events
## 2
## 3 wyliethomas@gmail.com 1
## 4 wyliethomas@gmail.com 2
## 5 info@satinflower.ca 3
## 6 james.miskelly@nrcan-rncan.gc.ca 4
## 7 wyliethomas@gmail.com 5
## 8 6
## 9 7
## 10 jgreen@islandstrust.bc.ca 8
## 11 9
## 12 10
## 13 11
## 14 12
## 15 13
## 16 14
## 17 wyliethomas@gmail.com 15
## 18 jonathan.velarde@natureconservancy.ca 16
## 19 17
## 20 18
## 21 19
## 22 20
## 23 judith@pepakenhautw.com 21
## 24 info@satinflower.ca 22
## 25 cheryl.bryce@songheesnation.com 23
## 26 24
## 27 rachel@stqeeye.ca 25
## 28 ahrfmanager@tsartlip.com Total Volunteers:
## 29 eryn.rogers@wsanec.com
## 30 sarah_jim@hotmail.ca
## 31
## 32
## 33
## 34
## 35 carolandbruce@shaw.ca
## 36 noah.alexander@esquimalt.ca
## 37 colin.jennings@csaanich.ca
## 38 rodney@islandnet.com
## 39 morganyates@telus.net
## 40 emily@hat.bc.ca
## 41
## 42
## 43
## 44
## 45
## 46
## 47
## 48 Stewardship Group Numbers Area cleared
## 49 Matson Mattocks 3674
## 50 Friends of Havenwood 5018
## 51 Friends of Oak Haven Park 640
## 52 9332
## X.8 X.9 X.10 X.11
## 1
## 2 Date Event 673 Volunteers 25 Events
## 3 2/21/2024 W̱S͸ḴEM Ivy Project 35 W̱S͸ḴEM Ivy Project
## 4 3/27/2024 Restoration at SṈIDȻEȽ 12 Restoration at SṈIDȻEȽ
## 5 3/30/2024 W̱S͸ḴEM Ivy Project 25 Maplebank Restoration
## 6 4/21/2024 Earth Day at Oak Haven 21 Oak Haven Park
## 7 4/26/2024 W̱S͸ḴEM Ivy Project 39 Total
## 8 4/27/2024 Maplebank Restoration 35
## 9 5/22/2024 Restoration at SṈIDȻEȽ 15
## 10 5/31/2024 W̱S͸ḴEM Ivy Project 49
## 11 6/9/2024 Maplebank Restoration 41
## 12 6/14/2024 W̱S͸ḴEM Ivy Project 29
## 13 6/19/2024 Restoration at SṈIDȻEȽ 11
## 14 7/17/2024 Restoration at SṈIDȻEȽ 17
## 15 7/19/2024 Maplebank Restoration 29
## 16 7/26/2024 W̱S͸ḴEM Ivy Project 24
## 17 8/14/2024 Restoration at SṈIDȻEȽ 15
## 18 8/16/2024 Maplebank Restoration 24
## 19 8/30/2024 W̱S͸ḴEM Ivy Project 38
## 20 9/17/2024 Restoration at SṈIDȻEȽ 8
## 21 9/27/2024 W̱S͸ḴEM Ivy Project 47
## 22 10/15/2024 Restoration at SṈIDȻEȽ 9
## 23 10/25/2024 Maplebank Restoration 28
## 24 10/26/2024 W̱S͸ḴEM Ivy Project 36
## 25 11/15/2024 Maplebank Restoration 30
## 26 11/19/2024 Restoration at SṈIDȻEȽ 15
## 27 11/30/2024 W̱S͸ḴEM Ivy Project 41
## 28 673
## 29
## 30
## 31
## 32
## 33
## 34
## 35
## 36
## 37
## 38
## 39
## 40
## 41
## 42
## 43
## 44
## 45
## 46
## 47
## 48 Biomass Volume Hours Crew + Stew Combined
## 49 70 467 Hours 5082.8
## 50 94 769 Area 118210.86
## 51 20 84 Biomass 568.2
## 52 184 1320
## X.12 X.13 X.14 X.15 X.16
## 1 NA
## 2 # of events # volunteers volunteer hours NA Stewardship Group Numbers
## 3 10 363 1452 NA Matson Mattocks
## 4 8 102 408 NA Friends of Havenwood
## 5 6 187 561 NA Friends of Oak Haven Park
## 6 1 21 63 NA
## 7 25 673 2484 NA
## 8 NA Crew Metrics
## 9 NA Data tracker
## 10 NA
## 11 NA
## 12 NA
## 13 NA
## 14 NA
## 15 NA
## 16 NA
## 17 NA
## 18 NA
## 19 NA
## 20 NA
## 21 NA
## 22 NA
## 23 NA
## 24 NA
## 25 NA
## 26 NA
## 27 NA
## 28 NA
## 29 NA
## 30 NA
## 31 NA
## 32 NA
## 33 NA
## 34 NA
## 35 NA
## 36 NA
## 37 NA
## 38 NA
## 39 NA
## 40 NA
## 41 NA
## 42 NA
## 43 NA
## 44 NA
## 45 NA
## 46 NA
## 47 NA
## 48 NA
## 49 NA
## 50 NA
## 51 NA
## 52 NA
## X.17 X.18 X.19 X.20
## 1
## 2 Volunteer Hours Biomass Area Cleared
## 3 466.5 70 3875
## 4 769 94 4860 area here is an estimate - not tracked
## 5 85 20 540
## 6
## 7
## 8
## 9
## 10
## 11
## 12
## 13
## 14
## 15
## 16
## 17
## 18
## 19
## 20
## 21
## 22
## 23
## 24
## 25
## 26
## 27
## 28
## 29
## 30
## 31
## 32
## 33
## 34
## 35
## 36
## 37
## 38
## 39
## 40
## 41
## 42
## 43
## 44
## 45
## 46
## 47
## 48
## 49
## 50
## 51
## 52
HAT_data_inv_site_metrics <- read.csv("data/2024-Cummulative-Site-Metrics.csv", header = TRUE, sep = ",")
HAT_data_inv_site_metrics## Work.Site Hours Days Area Biomass Site..
## 1 Bear Hill (HAT) 68.00 2 729.00 33.0 19
## 2 Camas Hill (HAT) 120.00 4 842.20 8.8 8
## 3 CGOP (NCC) 90.00 4 157.10 5.5 20
## 4 Chase Woods (NCC) 127.50 5 155.60 10.5 22
## 5 Funk (HAT) 30.00 1 3549.00 4.0 26
## 6 Goldenback Fern (ITC) 82.00 2 162.00 0.2 5
## 7 Goldstream (BC Parks) 52.50 2 3473.00 16.0 25
## 8 Good Neighbours (HAT) 155.00 5 2604.98 9.8 40
## 9 Harewood Plains (Nanaimo) 86.50 2 7831.00 13.0 24
## 10 Havenwood 30.00 1 342.00 2.5 33
## 11 Kindwood (NCC) 181.00 7 7310.00 19.5 4
## 12 Knockan Hill (Saanich) 49.00 2 3725.00 2.3 11
## 13 Little D'Arcy (ITC) 45.00 1 1095.00 0.9 15
## 14 Lohbrunner Woods (NCC) 30.00 1 5000.00 0.4 13
## 15 Maple Mountain (North Cowichan) 150.00 5 423.50 12.5 14
## 16 Mary Tod 52.50 1 11475.00 5.0 32
## 17 Matson Conservation Area (HAT) 113.00 10 3341.90 11.0 17
## 18 M\xe7WUE_ (Tsartlip) 0.00 3 182.70 1.2 30
## 19 Medicine Beach (ITC) 54.00 1 5460.00 2.1 6
## 20 Mt Tuam (ITC) 130.00 4 3398.00 12.5 27
## 21 NOT-SHARED-Site1 NA NA NA NA 1
## 22 NOT-SHARED-Site2 NA NA NA NA 2
## 23 Oak Bay - Walbran Park 231.25 6 1529.90 13.5 18
## 24 Oak Haven Park (HAT) 229.00 10 1041.00 6.5 9
## 25 PKOLS (Saanich) 66.00 3 2453.00 14.6 10
## 26 Purple Sanicle (HAT) 176.50 8 656.50 5.7 23
## 27 Quw'utsun Estuary (Satinflower) 37.50 1 74.00 0.3 35
## 28 Reginald Hill (NCC) 213.00 5 8622.00 30.0 21
## 29 Rocky Point (DND) 90.00 3 11832.93 8.6 3
## 30 S_ID_E_ (PH) 232.25 9 674.12 12.3 16
## 31 _IKEL (WLC) 0.00 0 0.00 0.0 31
## 32 Wallace Point (ITC) 30.00 1 1252.00 3.0 28
## 33 Woodwinds (ITC) 36.00 1 1190.00 4.0 29
## 34 WS\xea\xfcEM Ivy Project 116.00 7 3014.30 35.0 12
## 35 Xwaaqw'um (Stqeeye') 0.00 2 0.00 0.0 34
## 36 Yates Property 195.00 7 4586.82 27.0 7
## Site Partner_Code
## 1 Bear Hill HAT
## 2 Camas Hill HAT
## 3 CGOP NCC
## 4 Chase Woods NCC
## 5 Funk HAT
## 6 Goldenback Fern ITC
## 7 Goldstream BC Parks
## 8 Good Neighbours HAT
## 9 Harewood Plains Nanaimo
## 10 Havenwood NONE
## 11 Kindwood NCC
## 12 Knockan Hill Saanich
## 13 Little D'Arcy ITC
## 14 Lohbrunner Woods NCC
## 15 Maple Mountain North Cowichan
## 16 Mary Tod NONE
## 17 Matson Conservation Area HAT
## 18 MAWUEC Tsartlip
## 19 Medicine Beach ITC
## 20 Mt Tuam ITC
## 21 NOT-SHARED NONE
## 22 NOT-SHARED NONE
## 23 Oak Bay - Walbran Park NONE
## 24 Oak Haven Park HAT
## 25 PKOLS Saanich
## 26 Purple Sanicle HAT
## 27 Quw'u'sun Estuary Satinflower
## 28 Reginald Hill NCC
## 29 Rocky Point DND
## 30 SNIDCEL PH
## 31 TIKEL WLC
## 32 Wallace Point ITC
## 33 Woodwinds ITC
## 34 WSI,KEM Ivy Project NONE
## 35 Xwaaqw'um Stqeeye'
## 36 Yates Property NONE
HAT_data_daily_work_2024 <- read.csv("data/2024-HabitatRestorationWorkbook-daily-work-report.csv", header = TRUE, sep = ",")
HAT_data_daily_work_2024## X Daily.Work.Report X.1
## 1 Date Work Site Partner
## 2
## 3 06-May
## 4 07-May
## 5 08-May
## 6 09-May
## 7 10-May Rocky Point James Miskelly
## 8
## 9 13-May Kindwood Nature Conservancy of Canada
## 10 14-May Kindwood Nature Conservancy of Canada
## 11 15-May Kindwood Nature Conservancy of Canada
## 12 16-May Goldenback Fern Islands Trust Council
## 13 17-May Goldenback Fern Islands Trust Council
## 14
## 15 20-May VICTORIA DAY STAT
## 16 21-May Yates Morgan and Carol Yates
## 17 22-May S_ID_E_ PEPAKE_ H\xe7UTW_
## 18 23-May Yates Morgan and Carol Yates
## 19 24-May PKOLS Saanich Parks
## 20
## 21 27-May Knockan Hill Saanich Parks
## 22 28-May Knockan Hill Saanich Parks
## 23 29-May PKOLS Saanich Parks
## 24 30-May PKOLS Saanich Parks
## 25 31-May W_S\xea\xfc_EM Ivy Project Sarah Jim
## 26
## 27 03-Jun Yates Morgan and Carol Yates
## 28 04-Jun Yates Morgan and Carol Yates
## 29 05-Jun Oak Haven Park HAT
## 30 06-Jun Oak Haven Park HAT
## 31 07-Jun Yates Morgan and Carol Yates
## 32
## 33 10-Jun Bear Hill HAT
## 34 11-Jun Oak Haven Park HAT
## 35 12-Jun
## 36 13-Jun Kindwood Nature Conservancy of Canada
## 37 14-Jun W_S\xea\xfc_EM Ivy Project Sarah Jim
## 38
## 39 17-Jun Kindwood Nature Conservancy of Canada
## 40 18-Jun Kindwood Nature Conservancy of Canada
## 41 19-Jun S_ID_E_ PEPAKE_ H\xe7UTW_
## 42 20-Jun Oak Haven Park HAT
## 43 21-Jun Oak Haven Park HAT
## 44
## 45 24-Jun Lohbrunner Woods Nature Conservancy of Canada
## 46 25-Jun Medicine Beach (Pender Island) Islands Trust Council
## 47 26-Jun Wallace Point (Pender Island) Islands Trust Council
## 48 27-Jun Woodwinds (Pender Island) Islands Trust Council
## 49 28-Jun Day Off HAT
## 50
## 51 01-Jul "CANADA DAY" STAT
## 52 02-Jul Camas Hill HAT
## 53 03-Jul Camas Hill HAT
## 54 04-Jul Camas Hill HAT
## 55 05-Jul Camas Hill HAT
## 56
## 57 08-Jul Maple Mountain Wylie Thomas
## 58 09-Jul Maple Mountain Wylie Thomas
## 59 10-Jul Maple Mountain Wylie Thomas
## 60 11-Jul Maple Mountain Wylie Thomas
## 61 12-Jul Maple Mountain Wylie Thomas
## 62
## 63 15-Jul Little D'Arcy Islands Trust Council
## 64 16-Jul Bear Hill HAT
## 65 17-Jul S_ID_E_ PEPAKE_ H\xe7UTW_
## 66 18-Jul Michael BBQ Day HAT
## 67 19-Jul
## 68
## 69 22-Jul
## 70 23-Jul S_ID_E_ PEPAKE_ H\xe7UTW_
## 71 24-Jul Matson Conservation Area HAT
## 72 25-Jul Matson Conservation Area HAT
## 73 26-Jul W_S\xea\xfc_EM Ivy Project Sarah Jim
## 74
## 75 29-Jul Walbran Wylie Thomas
## 76 30-Jul Walbran Wylie Thomas
## 77 31-Jul Walbran Wylie Thomas
## 78 01-Aug Walbran Wylie Thomas
## 79 02-Aug Walbran Wylie Thomas
## 80
## 81 05-Aug BC DAY STAT
## 82 06-Aug
## 83 07-Aug Walbran Wylie Thomas
## 84 08-Aug Lotus Pinnatus Wylie Thomas
## 85 09-Aug Lotus Pinnatus Wylie Thomas
## 86
## 87 12-Aug Mary Tod Wylie Thomas
## 88 13-Aug Yates Morgan and Carol Yates
## 89 14-Aug S_ID_E_ PEPAKE_ H\xe7UTW_
## 90 15-Aug Yates Morgan and Carol Yates
## 91 16-Aug
## 92
## 93 19-Aug Reginald Hill Nature Conservancy of Canada
## 94 20-Aug Reginald Hill Nature Conservancy of Canada
## 95 21-Aug Reginald Hill Nature Conservancy of Canada
## 96 22-Aug Reginald Hill Nature Conservancy of Canada
## 97 23-Aug Reginald Hill Nature Conservancy of Canada
## 98
## 99 26-Aug
## 100 27-Aug Matson Conservation Area HAT
## 101 28-Aug Goldstream Park BC Parks
## 102 29-Aug Goldstream Park BC Parks
## 103 30-Aug W_S\xea\xfc_EM Ivy Project Sarah Jim
## 104
## 105 02-Sep LABOUR DAY STAT
## 106 03-Sep Funk HAT
## 107 04-Sep CGOP Nature Conservancy of Canada
## 108 05-Sep CGOP Nature Conservancy of Canada
## 109 06-Sep CGOP Nature Conservancy of Canada
## 110
## 111 09-Sep Matson Conservation Area HAT
## 112 10-Sep CGOP Nature Conservancy of Canada
## 113 11-Sep Chase Woods Nature Conservancy of Canada
## 114 12-Sep Chase Woods Nature Conservancy of Canada
## 115 13-Sep Chase Woods Nature Conservancy of Canada
## 116
## 117 16-Sep Chase Woods Nature Conservancy of Canada
## 118 17-Sep S_ID_E_ PEPAKEN HAUTW
## 119 18-Sep Chase Woods Nature Conservancy of Canada
## 120 19-Sep Kindwood Nature Conservancy of Canada
## 121 20-Sep Havenwood HAT
## 122
## 123 23-Sep Mt Tuam Islands Trust Council
## 124 24-Sep Mt Tuam Islands Trust Council
## 125 25-Sep Mt Tuam Islands Trust Council
## 126 26-Sep Mt Tuam Islands Trust Council
## 127 27-Sep W_S\xea\xfc_EM Ivy Project Sarah Jim
## 128
## 129 30-Sep TRUTH AND RECONCILIATION STAT
## 130 01-Oct Purple Sanicle Andy McKinnon
## 131 02-Oct Purple Sanicle HAT
## 132 03-Oct Purple Sanicle HAT
## 133 04-Oct Purple Sanicle HAT
## 134
## 135 07-Oct Matson Conservation Area HAT
## 136 08-Oct Matson Conservation Area HAT
## 137 09-Oct
## 138 10-Oct Matson Conservation Area HAT
## 139 11-Oct Matson Conservation Area HAT
## 140
## 141 14-Oct THANKSGIVING STAT
## 142 15-Oct S_ID_E_ PEPAKEN HAUTW
## 143 16-Oct Good Neighbours HAT (Holly & Hervey Simard)
## 144 17-Oct Good Neighbours HAT (Janet Willams)
## 145 18-Oct Good Neighbours HAT (Shawn McKean & Heather Daynard)
## 146
## 147 21-Oct Good Neighbours HAT (Adam Hellicar)
## 148 22-Oct Good Neighbours HAT (Bela Spick)
## 149 23-Oct Rocky Point James Miskelly
## 150 24-Oct Rocky Point James Miskelly
## 151 25-Oct
## 152 26-Oct W_S\xea\xfc_EM Ivy Project Sarah Jim
## 153
## 154 28-Oct Crew Off/Lauren Office
## 155 29-Oct Purple Sanicle HAT
## 156 30-Oct Purple Sanicle HAT
## 157 31-Oct Purple Sanicle HAT
## 158 01-Nov Purple Sanicle HAT
## 159
## 160 04-Nov Oak Haven Park HAT
## 161 05-Nov Oak Haven Park HAT
## 162 06-Nov Oak Haven Park HAT
## 163 07-Nov Oak Haven Park HAT
## 164 08-Nov Cowichan Planting
## 165 11-Nov Remembrance Day
## 166 12-Nov Matson Conservation Area HAT
## 167 13-Nov M\xe7WUE_ HAT
## 168 14-Nov Matson Conservation Area HAT
## 169 15-Nov
## 170 18-Nov Oak Haven Park HAT
## 171 19-Nov S_ID_E_ PEPAKEN HAUTW
## 172 20-Nov Xwaaqw'um stqeeye
## 173 21-Nov S_ID_E_ PEPAKEN HAUTW
## 174 22-Nov M\xe7WUE_ HAT
## 175 25-Nov Xwaaqw'um stqeeye
## 176 26-Nov
## 177 27-Nov M\xe7WUE_ HAT
## 178 28-Nov
## 179 29-Nov
## 180 30-Nov W_S\xea\xfc_EM Ivy Project Sarah Jim
## 181 21-May Yates Morgan and Carol Yates
## 182 23-May Yates Morgan and Carol Yates
## 183 03-Jun Yates Morgan and Carol Yates
## 184 04-Jun Yates Morgan and Carol Yates
## 185 07-Jun Yates Morgan and Carol Yates
## 186 13-Aug Yates Morgan and Carol Yates
## 187 15-Aug Yates Morgan and Carol Yates
## X.2 X.3
## 1 Area Cleared (m2) Biomass Removed (m3)
## 2 141434.79 493.9
## 3 200.26 1
## 4 377 1.1
## 5 307 0.4
## 6 173 2.5
## 7 8909 4
## 8
## 9 1687 3.5
## 10 1800 4
## 11 260 3.5
## 12 72.5 0.1
## 13 89.5 0.1
## 14
## 15
## 16 1015 8
## 17 72.22 1
## 18 1451 6
## 19 1104 7
## 20
## 21 3066 1.5
## 22 659 0.8
## 23 306 7
## 24 1043 0.6
## 25 261 5
## 26
## 27 2559 3
## 28 2714 3.5
## 29 100.3 0.2
## 30 142.7 0.2
## 31 5223 3
## 32
## 33 305 18
## 34 61.6 0.3
## 35 117 7
## 36 752 4
## 37 509 7
## 38
## 39 1543 3
## 40 1268 1.5
## 41 85.9 0.7
## 42 134 0.2
## 43 47 0.1
## 44
## 45 5000 0.4
## 46 5460 2.1
## 47 1252 3
## 48 1190 4
## 49 N/A N/A
## 50
## 51
## 52 127.2 0.3
## 53 195 2.5
## 54 182 3
## 55 338 3
## 56
## 57 25.2 3
## 58 161.6 1.5
## 59 81.6 4
## 60 21 1.5
## 61 134.1 2.5
## 62
## 63 1095 0.9
## 64 424 15
## 65 177 4
## 66
## 67 813 9
## 68
## 69 1259 2
## 70 102 2
## 71 443 1.2
## 72 1702 0.8
## 73 516.3 5
## 74
## 75 202 2
## 76 228 2
## 77 46.9 1.5
## 78 498 3.5
## 79 311 2.5
## 80
## 81
## 82 1175.75 2.5
## 83 244 2
## 84 2109 10
## 85 5722 3
## 86
## 87 11475 5
## 88 466 2
## 89 237 1.5
## 90 2193 1.5
## 91 359.3 10
## 92
## 93 1372 1.2
## 94 855 7.2
## 95 1470 6.6
## 96 3362 12
## 97 1563 3
## 98
## 99 34.6 1.5
## 100 207.4 1.5
## 101 2941 9
## 102 532 7
## 103 780 5
## 104
## 105
## 106 3549 4
## 107 38.3 1
## 108 35.1 1.5
## 109 41 1
## 110
## 111 66.5 2.5
## 112 42.7 2
## 113 73 2.5
## 114 47.8 2.5
## 115 34.8 2
## 116
## 117 173 2.5
## 118 189 2
## 119 404 1
## 120 0 0
## 121 342 2.5
## 122
## 123 1104 1.5
## 124 1524 4
## 125 770 7
## 126 0 0
## 127 443 7
## 128
## 129
## 130 110 0.2
## 131 138 0.8
## 132 158 1
## 133 113 1.8
## 134
## 135 213 0.5
## 136 83.7 0.8
## 137 5000 N/A
## 138 54.5 0.5
## 139 490 3
## 140
## 141
## 142 31.62 0.4
## 143 102.9 2
## 144 315 3
## 145 1,699.68 0.3
## 146
## 147 410 2
## 148 77.4 2.5
## 149 1375.93 0.6
## 150 1548 4
## 151 500 6
## 152 505 6
## 153
## 154 0
## 155 45 0.4
## 156 27 0.3
## 157 26.5 0.6
## 158 39 0.6
## 159
## 160 55 0.8
## 161 108 1.5
## 162 211.1 1
## 163 21.3 0.2
## 164 74 0.3
## 165
## 166 81.8 0.2
## 167 11.7 0.4
## 168 N/A N/A
## 169 269 7
## 170 160 2
## 171 208.8 0.7
## 172 N/A N/A
## 173 N/A N/A
## 174 171 0.8
## 175 N/A N/A
## 176 19.4 3
## 177 N/A N/A
## 178 24.8 2.5
## 179 82.7 4
## 180 494 7
## 181 1015 8
## 182 1451 6
## 183 2559 3
## 184 2714 3.5
## 185 5223 3
## 186 466 2
## 187 2193 1.5
## X.4
## 1 Invasive Species Cleared
## 2
## 3 Poison hemlock, blackberry
## 4 Poison hemlock
## 5 Scotch broom
## 6 Himalayan blackberry
## 7 Scotch broom
## 8
## 9 Scotch broom
## 10 Scotch broom
## 11 Scotch broom
## 12 Shiny Geranium
## 13 Shiny Geranium
## 14
## 15
## 16 Scotch Broom
## 17 Creeping buttercup
## 18 Scotch Broom
## 19 Scotch Broom
## 20
## 21 Privet, bachelor button
## 22 Bur Chervil, Bachelor Button
## 23 Scotch Broom
## 24 Shiny Geranium
## 25 English Ivy
## 26
## 27 Scotch Broom
## 28 Scotch Broom
## 29 Shiny Geranium
## 30 Shiny Geranium
## 31 Scotch Broom
## 32
## 33 Several native & invasive species
## 34 Shiny Geranium
## 35 BlackBerry
## 36 Scotch Broom
## 37 English ivy
## 38
## 39 Scotch Broom
## 40 Scotch broom
## 41 Creeping buttercup
## 42 Shiny Geranium
## 43 Shiny geranium
## 44
## 45 Scotch Broom, English Holly
## 46 Daphne, Yellow Flag Iris
## 47 Scotch broom
## 48 Scotch Broom, Daphne, Hymalayan blackberry
## 49 N/A
## 50
## 51
## 52 Scotch Broom
## 53 Scotch Broom
## 54 Scotch Broom
## 55 Scotch Broom
## 56
## 57 Scotch broom
## 58 Scotch broom
## 59 Scotch broom
## 60 Scotch broom
## 61 Scotch broom
## 62
## 63 Thistle, Scotch Broom
## 64 Several native & invasive species
## 65 Pea Vine, thistle, St. John's wart, lemon balm
## 66
## 67 Daphne, poppy, ivy, and broom
## 68
## 69 Scotch broom, gorse, daphne
## 70 Himalayan blackberry, pea vine
## 71 Hanging sedge, h.blackberry,ivy,thistle
## 72 H blackberry, S broom, E ivy
## 73 E.Ivy
## 74
## 75 Scotch broom, E ivy
## 76 Scotch broom
## 77 Scotch broom
## 78 Scotch broom
## 79 Scotch broom
## 80
## 81
## 82 Poison Hemlock, thistle, poppy, blackberry
## 83 Scotch Broom
## 84 Scotch Broom
## 85 Scotch Broom
## 86
## 87 Scotch Broom
## 88 Scotch Broom
## 89 Buttercup, thistle, St. John\xd5s wart, Hymalayan blackberry, dame\xd5s rocket etc.
## 90 Scotch Broom
## 91 Hymalayan blackberry, Ivy, daphne
## 92
## 93 Thistle, foxglove
## 94 Thistle, foxglove
## 95 Thistle, foxglove
## 96 English Holly
## 97 English Holly
## 98
## 99 Hymalayan Blackberry
## 100 Hymalayan Blackberry, English Ivy
## 101 Scotch Broom
## 102 Scotch Broom
## 103 English ivy
## 104
## 105
## 106 Scotch Broom
## 107 Periwinkle
## 108 Periwinkle
## 109 Periwinkle
## 110
## 111 English Ivy, Hymalayan Blackberry
## 112 Periwinkle
## 113 Hymalayan blackberry
## 114 Hymalayan blackberry
## 115 Hymalayan blackberry
## 116
## 117 Hymalayan Blackberry
## 118 Hymalayan Blackberry, thistle, pea vine
## 119 Hymalayan Blackberry, thistle, canary reed grass
## 120 N/A
## 121 Hymalayan Blackberry
## 122
## 123 Thatch, thistle
## 124 Thatch
## 125 Thatch
## 126 N/A
## 127 English Ivy
## 128
## 129
## 130 S.broom
## 131 S.broom
## 132 S.broom
## 133 S.broom
## 134
## 135 Orchardgrass
## 136 Orchardgrass, thatch
## 137 Several Native wetland plant species
## 138 Thatch
## 139 Orchard grass
## 140
## 141
## 142 Buttercup, creeping st.johnswart, Himalayan blackberry, ivy
## 143 Himalayan blackberry
## 144 Daphne
## 145 English Ivy, English Holly, Himalayan blackberry, daphne, Yellow flag iris
## 146
## 147 Scotch broom
## 148 Daphne
## 149 Gorse, scotch broom
## 150 Scotch broom, gorse, hawthorne
## 151 Scotch broom, poison hemlock, blackberry, English ivy
## 152 English ivy
## 153
## 154
## 155 Scotch broom
## 156 Scotch broom
## 157 Scotch broom
## 158 Scotch broom
## 159
## 160 Scotch broom and sweet vernal grass
## 161 Scotch broom
## 162 Scotch broom
## 163 Scotch broom
## 164 Invasive grasses
## 165
## 166 Orchard grass
## 167 Scotch Broom
## 168 Garry oak planting
## 169 E Ivy, daphne, blackberry
## 170 Scotch broom
## 171 Creeping St.Johns wort, Himilayan Blackberry
## 172 Several varities of native wetland plant species
## 173 N/A
## 174 Scotch broom
## 175 Several varities of native wetland plant species
## 176 Himalayan Blackberry
## 177 Several varities of native wetland plant species
## 178 Himalayan Blackberry
## 179 Himalayan Blackberry
## 180 English ivy
## 181 Scotch Broom
## 182 Scotch Broom
## 183 Scotch Broom
## 184 Scotch Broom
## 185 Scotch Broom
## 186 Scotch Broom
## 187 Scotch Broom
## X.5 X.6
## 1 Crew Hours In-kind*
## 2 5879.8 729
## 3 30
## 4 29
## 5 22.5
## 6 24
## 7 45 15
## 8
## 9 30
## 10 30
## 11 14.5
## 12 42 10.5
## 13 40 10
## 14
## 15
## 16 30
## 17 30 17
## 18 22.5
## 19 22.5 15
## 20
## 21 26.5 15
## 22 22.5 17
## 23 21 4
## 24 22.5 17
## 25 37.5 7.5
## 26
## 27 22.5 2
## 28 30
## 29 30.5
## 30 22.5
## 31 30
## 32
## 33 34
## 34 34
## 35 34.8
## 36 22.5
## 37 52.5 7.5
## 38
## 39 26.5
## 40 27.5
## 41 56 22.5
## 42 22.5
## 43 15
## 44
## 45 30
## 46 54 7
## 47 30 15
## 48 36 18
## 49 N/A
## 50
## 51
## 52 30
## 53 30
## 54 30
## 55 30
## 56
## 57 22.5 22.5
## 58 30
## 59 30
## 60 37.5
## 61 30
## 62
## 63 45 18
## 64 34
## 65 56.25 22.5
## 66
## 67 51.5 66
## 68
## 69 26.5
## 70 37.5 37.5
## 71 30.5 14
## 72 30
## 73 18 7.5
## 74
## 75 37.5 8
## 76 34
## 77 37.5
## 78 52.5 12
## 79 32.25 12
## 80
## 81
## 82 45
## 83 37.5
## 84 45 37.5
## 85 41.5
## 86
## 87 37.5 22.5
## 88 30
## 89 52.5 22.5
## 90 30
## 91 30.5 8
## 92
## 93 45 7.5
## 94 37.5
## 95 40.5
## 96 45
## 97 45
## 98
## 99 30
## 100 22.5
## 101 30 9.5
## 102 22.5 9.5
## 103 8 13
## 104
## 105
## 106 30
## 107 22.5 7.5
## 108 22.5
## 109 15
## 110
## 111 30
## 112 30
## 113 30
## 114 30
## 115 22.5
## 116
## 117 22.5
## 118 22.5 22.5
## 119 22.5
## 120 30
## 121 30
## 122
## 123 36 10
## 124 34
## 125 30
## 126 30
## 127 16 12
## 128
## 129
## 130 26.5
## 131 22.5
## 132 22.5
## 133 22.5
## 134
## 135 15
## 136 38
## 137 38 4
## 138 22.5
## 139 22.5
## 140
## 141
## 142 26.5 15
## 143 30
## 144 26.5
## 145 41.5
## 146
## 147 30.5
## 148 26.5
## 149 22.5 15
## 150 22.5 11
## 151 37.5 13
## 152 24 4
## 153
## 154
## 155 22.5
## 156 15
## 157 22.5
## 158 22.5
## 159
## 160 22.5
## 161 30
## 162 30
## 163 22.5
## 164 37.5
## 165
## 166 22.5
## 167
## 168 15
## 169 34.5 6
## 170 30
## 171 30 22.5
## 172 30 7.5
## 173 37.5 22.5
## 174 30
## 175 30
## 176 30
## 177 30
## 178 30
## 179 22.5
## 180 27 4.5
## 181 30
## 182 22.5
## 183 22.5 2
## 184 30
## 185 30
## 186 30
## 187 30
## Notes
## 1 ...
## 2
## 3 Removed mostly poison hemlock and a small amount of backberry
## 4 Removed mostrly poison hemlock and a small amount of daphne
## 5 Planted camas & blue wild rye most of day, removed some broom
## 6
## 7 Removed scotchbroom
## 8
## 9 Removed sm to lrg scotch broom with and without flowering heads
## 10 Removed sm to lrg scotch broom with and without flowering heads
## 11 Removed sm to lrg scotch broom with and without flowering heads
## 12 Removed flowering shiny geranium, some beginning to seed
## 13 Removed flowering shiny geranium, some beginning to seed
## 14
## 15
## 16 Removed flowering broom, left smaller non- flowering broom
## 17 Volunteer event, ~20 volunteers. Removed mostly butter cup and some foxglove and creeping st.johns wart
## 18 Removed flowering broom, left smaller non- flowering broom
## 19 Removed flowering broom, left smaller non- flowering broom
## 20
## 21 Removed privet, and some bachelor button, daphne, and scotch broom
## 22 Removed mostly Bur Chervil, Bachelor Button ; and some daphne/scotch broom
## 23 Removed S.Broom, 2 Saanich crew picked up biomass throughout day
## 24 Removed Shiny Geranium with the Saanich crew
## 25 Volunteer event, ~40 volunteers, HAT crew, & PEPAKEN HAUTW crew.
## 26
## 27 Removed flowering broom, left smaller non- flowering broom
## 28 Removed flowering broom, left smaller non- flowering broom
## 29 Removed shiny geranium, most contained seeds almost ready to drop
## 30 Removed shiny geranium, most contained seeds almost ready to drop
## 31 Removed flowering broom and lrg non- flowering broom in shady areas
## 32
## 33 Trail maintenance to clear a fire right of way on a HAT site
## 34 Removed shiny geranium, most contained seeds almost ready to drop
## 35 Removed blackberry from archeological house site - no digging just cutting
## 36 1/2 day removed seed pods and bagged, 1/2 day cut broom with/without seeds and piled on site
## 37 Volunteer event, ~30 volunteers & HAT crew.
## 38
## 39 Completes polygon area removing lrg broom, then went back through area removing smaller broom
## 40 Removing smaller broom from pre-cleared polygon (after removing large and in-bloom plants previously)
## 41 Volunteer event, ~5 volunteers. Removed mostly butter cup and thistle.
## 42 Removed shiny geranium, most contained seeds almost ready to drop
## 43 Removed shiny geranium, most contained seeds almost ready to drop
## 44
## 45 Removed mostly very small S.broom regrowth from last year and a few med Holly
## 46 Removed daphne; removed seed pods from yellow flag Iris, left remaining plant with rhizomes.
## 47
## 48 Removed mature seeding broom from border of covanant boundary, swept property for sm daphne, and cleared patch of mature blackberry
## 49
## 50
## 51
## 52 Removed small regrowth Scotch Broom
## 53 Removed small regrowth Scotch Broom
## 54 Small regrowth and mature seeding broom
## 55 Small sparse regrowth and mature seeding broom
## 56
## 57 medium regrowth, removed seeds off mature broom in adjacent areas outside of polygon
## 58 Removed medium broom regrowth in polygon 1, and seeds heads from polygon area 3.
## 59 Removed medium-large broom
## 60 Removed medium-large broom
## 61 Removed medium-large broom, and seeds heads from polygon 2
## 62
## 63 Cut flower heads and/or pulled roots of thistle plants; pulled small amount of small scotch broom with remaining time
## 64 Trail maintenance to clear a fire right of way on a HAT site; and removed lrg flowering scotch broom near look out, and piled in 2 lrg piles.
## 65 Volunteer event, removed various different invasive species
## 66
## 67 Volunteer event -divided into groups and in separate patches removed daphne, brush cut and removed poppy seed heads,removed ivy, and mature broom
## 68
## 69 Removed mature and regrowth scotch broom. Removed large daphne and gorse.
## 70 Worked with PH crew. Morning spent removing blackberry. Afternoon spent in a collaborative meeting.
## 71 Removed h.sedge from dense patch, then did sweeps for regrowth in meadows (and worked on monitoring plan)
## 72 Monitoring, sweeping meadow for regrowth, ivy
## 73 28 volunteers, 4 hat crew, 1 PH crew, and Sarah Jim
## 74
## 75 Removed sm-med broom regrowt, and one patch of mature ivy
## 76 Removed sm-med broom regrowth
## 77 Removed sm-med broom regrowth
## 78 Removed sm-med broom regrowth
## 79 Removed sm-med broom regrowth
## 80
## 81
## 82 Removed poison hemlock & thistle seed heads, poppy seeds heads & biomass, and Hymalayan blackberry plants
## 83 Removed sm-med broom regrowth
## 84 Removed lrg scotch broom plants with the duty of Nanaimo and oak bay parks crew. Many plants contained seed that had already dropped.
## 85 Removed lrg scotch broom and an area of small broom regrowth.
## 86
## 87 Removed sm-med sized (a few lrg) scotch broom regrowth
## 88 Removed sm-lrg scotch broom.
## 89 Volunteer event. Removed several invasive species including buttercup, thistle, St. John\xd5s wart, Hymalayan blackberry, dame\xd5s rocket etc.
## 90 Removed lrg flower broom in Site B & sm-lrg broom in Site F.
## 91 Volunteer event, approx 25-30 people. Cut back Hymalayan blackberry; removed ivy & daphne
## 92
## 93 Removed thistle and small foxglove plants from area that had been completely cleared of those species the previous year.
## 94 Removed thistle from lrg dense patch and small foxglove plants from area that had been completely cleared of those species the previous year.
## 95 Removed thistle from lrg dense patch and small foxglove plants from area that had been completely cleared of those species the previous year.
## 96 Removed Holly from area. Large Holly trees will need to be removed by arborists.
## 97 Removed Holly from area. Large Holly trees will need to be removed by arborists. Only worked in the field for ~3 hrs before travelling back home.
## 98
## 99 Dug out Hymalayan blackberry crown roots and cut back some branches
## 100 Removed Hymalayan blackberry (crown roots and biomass) and English Ivy
## 101 In areas close to Deltoid Balsamroot, we cut scotch broom above the ground and left long stems.
## 102 Removed densely packed broom; Cut above the soil in areas near deltoid balsamroot seed heads.
## 103 Volunteer day - 28 volunteers
## 104
## 105
## 106 Removed broom regrowth from area cleared by HAT last year; removed mature broom from other areas on property
## 107 Removed very dense patch of periwinkle
## 108 Removed very dense patch of periwinkle
## 109 Removed very dense patch of periwinkle
## 110
## 111 Removed Hymalayan blackberry (crown roots and biomass) and English Ivy
## 112 Removed very dense patch of periwinkle
## 113 Removed dense patch of Hymalayan blackberry (crown roots and biomass)
## 114 Removed dense patch of Hymalayan blackberry (crown roots and biomass)
## 115 Removed dense patch of Hymalayan blackberry (crown roots and biomass)
## 116
## 117 Removed dense patch of Hymalayan blackberry (crown roots and biomass) and thistle.
## 118 Volunteer event; 4 volunters + PH & HAT crew. Main focus on removing Hymalayan blackberry (crown roots and biomass), and some removal of thistle and pea vine
## 119 Removed sparse patchs of Hymalayan blackberry (crown roots and biomass), thistle, and reed canary grass
## 120 Spent day scouting Kindwood for area with invasive species to create a restoration plan for next season (2025)
## 121 Removed mature Hymalayan blackberry (crown roots and biomass) with friends of havenwood volunteers at one location & small blackberry regrowth at the grad corner
## 122
## 123 Moved and removed thatch from Mt.Tuam enclosure area, removed thistle from outside enclosure area.
## 124 Moved and removed thatch from Mt.Tuam enclosure area
## 125 Moved and removed thatch from Mt.Tuam enclosure area, spread native plant seeds collected from area prior to mowing.
## 126 Completed work at Mt Tuam early. Spent morning completing admin tasks, travelled back to Victoria, reloaded tools in crew van and did drop offs.
## 127 Volunteer event removing English ivy - 4 HAT staff, 2 PH, 1 Sarah Jim, 38 volunteers but several for only part of the event
## 128
## 129
## 130 Morning spent on mushroom walk, then site orientation at Purple Sanicle covenant before 1.5 hours (small regrowth) broom removal. Max present for walk and orientation.
## 131 Small and medium broom removal
## 132 Small and medium broom removal
## 133 Small and medium broom removal
## 134
## 135 Prep for seeding meadow
## 136 1st round of mowing in 2 deer exclosures, orchard grass removal in open meadow areas, completed fencing in deer Exclosure #1.
## 137 Harvested Several Native wetland species from _IKEL for 2025 restoration plan
## 138 2nd round of mowing in deer Exclosure #1, completed fencing for deer Exclosure #2, roughened soil and seeded deer Exclosure #1.
## 139 Swept area and removed orchard grass, completed mowing and seeding of Exclosure #2
## 140
## 141
## 142 Volunteer event-5 vounteers. Removed buttercup, creeping St. John\xd5swart, Himalayan blackberry, and ivy.. Then covered bare sooo with leaf mulch. Removed Himalayan blackberry in a second area.
## 143 Dug out crown roots of Himalayan blackberry. Owners previously cut back branches. Planted 2xGarry oak and 2x cedar trees
## 144 Removed mature daphne
## 145 S.McKean: Mostly planted several garry oak tree seedlings throughout open meadow area. Then removed some blackberry, broom, and daphne. H.Daynard: checked underneath the yellow flag iris tarp. Discovered iris rhizomes were not completly dead so we recovered and spent the rest of the day removing ivy from the Daynard property.
## 146
## 147 Removed scotch broom focused around 2 Garry oaks, a rocky bluff, and a vernal water system.
## 148 Removed dense patch of daphne
## 149 Removed mostly small-medium sized gorse and some small scotch broom from an area that had been previously burned for restoration efforts
## 150 Removed mainly medum to large scotch broom, one patch of gorse, and two small hawthorne trees (which James bingo dabbed with herbicide) from an open meadow containing SARA-listed dense spike primrose
## 151 Volunteer event (26 volunteers) in groups removing broom, gorse, ivy, blackberry canes and roots, and propagating rose and snowberry, and planting snowberry and kwetlal
## 152 Volunteer event. 35ish volunteers removing English Ivy.
## 153
## 154
## 155 Small regrowth in area containing purple sanicle
## 156 Small to medium regrowth
## 157 Small to medium regrowth. Happy Halloween :)
## 158 Small to medium regrowth
## 159
## 160 Small patch of sweet vernal grass, mostly small to medium scotch broom removed in patch of SARA slim leaf onion
## 161 Removed dense patch of small to medium scotch broom removed in patch of SARA slim leaf onion
## 162 Removed dense patch of small scotch broom near patch of naturally occurring SARA slim leaf onion
## 163 Patches of dense medium sized scotch broom. Pulled all visible in thick grass. Sweet vernal grass and few orchardgrass also present. Also did montoring on site for part of the day.
## 164 Large volunteer event with the Quw'utsun tribe and Satin flower. removed some invasive grasses and then planted some native plants.
## 165
## 166 Spent morning scouting the covenant for invasive species to inform next years mgmt plan, removed some orchard grass in the afternoon .
## 167 Spent morning planting several varieties of native wetland species at the M\xe7WUE_ Planting volunteer event (wetland restoration area ~1,089m2); and planted camas bulbs in an open garry oak meadow (planting area ~130 m2). Spent afternoon removing scotch broom at Oak Haven.
## 168 Installed signs on deer exclosures. Planted, mapped, and photographed 24 donated (by GOMPS and by Central Saanich) Garry oak saplings. End of day removed some orchard grass.
## 169 Volunteer event, ~28 volunteers. Separate groups targeted areas of broom, ivy, and blackberry. Small group planted seeds in trays.
## 170 Removed dense patch and some sparse patches of scotch broom in between two populations of slim leaf onion
## 171 Volunteer event (~8 volunteers + 3 HAT & 3 PH crew) removed creeping St.Jonhs wort and blackberry; planted several thimbleberry and a few salmonberry and june plum plants; brought in woody debris to create habitat and increase ecosystem health in planting area with leaf mulch.
## 172 Attended a Wetland Planting volunteer event at Xwaaqw'um with Stqeeye' Learning Society (Salt Spring Island). We planted several varieties of native wetland species in the westland restoration area.
## 173 Supported PEPAKEN HAUTW at _\xe7U, WEL_EW_ with hosting the _ENI_O_E_SET S_\xe7PE_ (fall feast) for all the students at the tribal school
## 174 Spent morning removing scotch broom at Oak Haven. Spent afternoon planting several varieties of native wetland species at the M\xe7WUE_ Planting volunteer event, wetland restoration area approx 1,089m2.
## 175 Supported the Stqeeye' Learning Society (Salt Spring Island) at Xwaaqw'um. We planted several varieties of native wetland species in the westland restoration area.
## 176 Dug out Himalayan blackberry crown roots in area where biomass was previously cut back by volunteer events
## 177 Planted several varieties of native wetland species at the M\xe7WUE_ Planting volunteer event, wetland restoration area approx 1,089m2.
## 178 Dug out Himalayan blackberry crown roots in area at the point where biomass was previously cut back by volunteer events
## 179 Dug out Himalayan blackberry crown roots in area at the point where biomass was previously cut back by volunteer events
## 180 Volunteer event (~40 volunteers + 6 HAT staff + Sarah Jim), last event of season, removed english ivy.
## 181 Removed flowering broom, left smaller non- flowering broom
## 182 Removed flowering broom, left smaller non- flowering broom
## 183 Removed flowering broom, left smaller non- flowering broom
## 184 Removed flowering broom, left smaller non- flowering broom
## 185 Removed flowering broom and lrg non- flowering broom in shady areas
## 186 Removed sm-lrg scotch broom.
## 187 Removed lrg flower broom in Site B & sm-lrg broom in Site F.
### NEEDS MAJOR CLEANUP
# HAT_data_inv_biomass <- read.csv("data/2024-HabitatRestorationWorkbook-Data-Tracker.csv", header = TRUE, sep = ",")
# HAT_data_inv_biomassHAT_data_Sites_SAR## # A tibble: 24 × 7
## Partner Site Area of Invasive Wee…¹ HAT corrected areas …² `Number of Days`
## <chr> <chr> <chr> <dbl> <dbl>
## 1 BC Parks "Gol… "4.4" 0.5 2
## 2 BC Parks "Bel… "0.15" 0.15 5
## 3 Distric… "Map… "53.6" 2.5 5
## 4 Distric… "Nat… "38.8" 2.5 5
## 5 The Nat… "Mou… "\xca" 1 2
## 6 City of… "Har… "12.3" 1 2
## 7 Nature … "Cha… "2.21" 2.21 10
## 8 Nature … "Cow… "1.39" 1.39 10
## 9 Nature … "Kin… "2.57" 2.57 5
## 10 Nature … "Loh… "0.95" 0.95 2
## # ℹ 14 more rows
## # ℹ abbreviated names: ¹`Area of Invasive Weed Control - ha`,
## # ²`HAT corrected areas - ha`
## # ℹ 2 more variables: `Number of SAR` <dbl>, `Species at Risk on Site` <chr>
str(HAT_data_Sites_SAR)## spc_tbl_ [24 × 7] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
## $ Partner : chr [1:24] "BC Parks" "BC Parks" "District of North Cowichan" "District of Oak Bay" ...
## $ Site : chr [1:24] "Goldstream Park" "Bellhouse Park, Galliano" "Maple Mountain Priority Site, Cowichan" "Natural Areas Parks" ...
## $ Area of Invasive Weed Control - ha: chr [1:24] "4.4" "0.15" "53.6" "38.8" ...
## $ HAT corrected areas - ha : num [1:24] 0.5 0.15 2.5 2.5 1 1 2.21 1.39 2.57 0.95 ...
## $ Number of Days : num [1:24] 2 5 5 5 2 2 10 10 5 2 ...
## $ Number of SAR : num [1:24] 8 0 10 23 10 10 15 18 3 1 ...
## $ Species at Risk on Site : chr [1:24] "Banded Cord-moss (SC)\nBatwing Vinyl (E)\nDeltoid Balsamroot (E)\nFern-leafed Desert-parsley (red)\nLong-bristled Frillwort (bl "unknown" "Rigid Apple-moss (E)\nBanded Cord-moss (SC)\nBatwing Vinyl (E)\nPeacock Vinyl (SC)\nWhite-top Aster(SC)\nSmall-flowered Tonella "Banded Cord-moss (SC)\nBear\xd5s-foot Sanicle (T)\nBearded Owl-clover (E)\nCoast Microseris (E)\nDense Spike-primrose (E)\nFoot ...
## - attr(*, "spec")=
## .. cols(
## .. Partner = col_character(),
## .. Site = col_character(),
## .. `Area of Invasive Weed Control - ha` = col_character(),
## .. `HAT corrected areas - ha` = col_double(),
## .. `Number of Days` = col_double(),
## .. `Number of SAR` = col_double(),
## .. `Species at Risk on Site` = col_character()
## .. )
## - attr(*, "problems")=<externalptr>
# $ Area of Invasive Weed Control (ha): chr s/b num
# Friends of Oak Haven Park
HAT_data_FOHP## Date number.of.volunteers hours total.hours biomass.removed area.cleared
## 1 27-Oct 12 2 24 2 150
## 2 28-Jul 4 2 8 2 100
## 3 23-Jun 4 2 8 2 80
## 4 26-May 5 2 10 3 100
## 5 21-Apr 12 2 24 8 120
## 6 31-Mar 5 2 10 3 90
str(HAT_data_FOHP)## 'data.frame': 6 obs. of 6 variables:
## $ Date : chr "27-Oct" "28-Jul" "23-Jun" "26-May" ...
## $ number.of.volunteers: int 12 4 4 5 12 5
## $ hours : int 2 2 2 2 2 2
## $ total.hours : int 24 8 8 10 24 10
## $ biomass.removed : int 2 2 2 3 8 3
## $ area.cleared : int 150 100 80 100 120 90
# Date needs changing
# Species at RIsk
HAT_data_SAR## Date.Observed Scientific.Name Common.Name Designation
## 1 02-May Sanicula bipinnatifida Purple Sanicle S2, Red, T,
## 2 03-May Ranunculus alismifolius Plantainleaf Buttercup S1, Red, E
## 3 10-May Contopus cooperi Olive-sided flycatcher S4B, SC, blue
## 4 10-May Hirundo rustica Barn swallow S4B
## 5 14-May Neoclytus conjunctus Western ash borer S1S3, N1N3
## 6 04-Jun Contopus cooperi Olive-sided flycatcher S4B, SC, blue
## 7 20-Jun Contopus cooperi Olive-sided flycatcher S4B, SC, blue
## 8 26-Jun Juniperis maritima Seaside Juniper S4S5, Yellow
## 9 01-Jul Patagioenus fasciata Band-tailed pigeon S3S4, SC, blue
## 10 01-Jul Contopus cooperi Olive-sided flycatcher S4B, SC, blue
## 11 01-Jul Hirundo rustica Barn swallow S4B
## 12 03-Jul Patagioenus fasciata Band-tailed pigeon S3S4, SC, blue
## 13 03-Jul Hirundo rustica Barn swallow S4B
## 14 08-Jul Contopus cooperi Olive-sided flycatcher S4B, SC, blue
## 15 12-Jul Patagioenus fasciata Band-tailed pigeon S3S4, SC, blue
## 16 12-Jul Contopus cooperi Olive-sided flycatcher S4B, SC, blue
## 17 15-Jul Progne subis Purple martin S3S4B, blue
## 18 20-Aug Hirundo rustica Barn swallow S4B
## 19 29-Aug Balsamorhiza deltoidea deltoid balsamroot S2, E, Red
## 20 04-Sep Patagioenus fasciata Band-tailed pigeon S3S4, SC, blue
## 21 10-Oct Contopus cooperi Olive-sided flycatcher S4B, SC, blue
## 22 09-Oct Biden amplissima Beggarticks S3, blue
## 23 24-Oct Epilobium densiflorum Dense spike primrose
## 24 25-Oct Juniperis maritima Seaside Juniper S4S5, Yellow
## 25 23-Oct Patagioenus fasciata Band-tailed pigeon S3S4, SC, blue
## Site Coordinates..if.available.
## 1 Uplands park-Oak bay park 48.4397883333, -123.2942416667
## 2 Uplands park-Oak bay park 48.44082, -123.2991783333
## 3 Rocky Point N/A
## 4 Rocky Point N/A
## 5 Kindwood 48.5113916667, -123.497275
## 6 Yates property N/A
## 7 Oakhaven N/A
## 8 ITC covenant-Pender Island 48.73682, -123.23254
## 9 Camas Hill N/A
## 10 Camas Hill N/A
## 11 Camas Hill N/A
## 12 Camas Hill N/A
## 13 Camas Hill N/A
## 14 Maple Mountain N/A
## 15 Maple Mountain N/A
## 16 Maple Mountain N/A
## 17 Little D'Arcy N/A
## 18 Reginald Hill N/A
## 19 Goldstream park 48.468, -123.543
## 20 CGOP N/A
## 21 Matson Conservation Area 48.428, -123.394
## 22 _IKEL N/A
## 23 Rocky point
## 24 Maplebank N/A
## 25 Rocky Point N/A
## Notes
## 1
## 2
## 3 Five
## 4 One
## 5 Multiple adults performing behaviour on fallen Arbutus log
## 6 Heard the fly-catch song several times (June 3,4 & 7) however didn't see them; no coordinates were recorded
## 7 Heard the fly-catch song several times (June 5-6 & 20-21)) however didn't see them; no coordinates were recorded
## 8 Shrub found on a private property covenant
## 9 One
## 10 One
## 11 Two
## 12 Seven individuals
## 13 Seven individuals
## 14 Two individuals
## 15 Two individuals
## 16 Two individuals
## 17 Two
## 18 Seven individuals
## 19 There was a few different patches at the two sites we worked on at Goldstream park.Goldestream has the CRD's largest population of Balsamroot
## 20 Five individuals, flyover
## 21 Hannah saw one individual
## 22 Dense field of Biden in wetland area
## 23 Few remaining in vernal pools in meadow
## 24 1 individual on the coast
## 25
str(HAT_data_SAR)## 'data.frame': 25 obs. of 7 variables:
## $ Date.Observed : chr "02-May" "03-May" "10-May" "10-May" ...
## $ Scientific.Name : chr "Sanicula bipinnatifida" "Ranunculus alismifolius" "Contopus cooperi" "Hirundo rustica" ...
## $ Common.Name : chr "Purple Sanicle" "Plantainleaf Buttercup" "Olive-sided flycatcher " "Barn swallow" ...
## $ Designation : chr "S2, Red, T, " "S1, Red, E" " S4B, SC, blue" "S4B" ...
## $ Site : chr "Uplands park-Oak bay park " "Uplands park-Oak bay park " "Rocky Point" "Rocky Point" ...
## $ Coordinates..if.available.: chr "48.4397883333, -123.2942416667" "48.44082, -123.2991783333" "N/A" "N/A" ...
## $ Notes : chr "" "" "Five" "One" ...
# change Date to date format
# add year
unique(HAT_data_SAR$Site) # 16 sites## [1] "Uplands park-Oak bay park " "Rocky Point"
## [3] "Kindwood" "Yates property "
## [5] "Oakhaven " "ITC covenant-Pender Island "
## [7] "Camas Hill" "Maple Mountain "
## [9] "Little D'Arcy" "Reginald Hill"
## [11] "Goldstream park " "CGOP"
## [13] "Matson Conservation Area" "_IKEL"
## [15] "Rocky point" "Maplebank"
unique(HAT_data_SAR$Common.Name) #11## [1] "Purple Sanicle" "Plantainleaf Buttercup"
## [3] "Olive-sided flycatcher " "Barn swallow"
## [5] "Western ash borer" "Seaside Juniper"
## [7] "Band-tailed pigeon" "Purple martin"
## [9] "deltoid balsamroot" "Beggarticks "
## [11] "Dense spike primrose"
HAT_data_Volevents## Date Event Partner
## 1 2024-04-21 Earth Day Restoration at Oak Haven Park Central Saanich
## 2 2023-12-01 lekwungen Community Toolshed Maplebank Cheryl Bryce
## 3 2024-04-27 lekwungen Community Toolshed Maplebank Cheryl Bryce
## 4 2024-06-09 lekwungen Community Toolshed Maplebank Cheryl Bryce
## 5 2024-08-16 lekwungen Community Toolshed Maplebank Cheryl Bryce
## 6 2024-09-22 lekwungen Community Toolshed Maplebank Cheryl Bryce
## 7 2024-10-25 lekwungen Community Toolshed Maplebank Cheryl Bryce
## 8 2024-11-15 lekwungen Community Toolshed Maplebank Cheryl Bryce
## 9 2024-03-27 SNIDCEL Resiliency Project PEPAKEN HAUTW
## 10 2024-05-22 SNIDCEL Resiliency Project PEPAKEN HAUTW
## 11 2024-06-19 SNIDCEL Resiliency Project PEPAKEN HAUTW
## 12 2024-07-17 SNIDCEL Resiliency Project PEPAKEN HAUTW
## 13 2024-08-14 SNIDCEL Resiliency Project PEPAKEN HAUTW
## 14 2024-09-17 SNIDCEL Resiliency Project PEPAKEN HAUTW
## 15 2024-10-15 SNIDCEL Resiliency Project PEPAKEN HAUTW
## 16 2024-11-19 SNIDCEL Resiliency Project PEPAKEN HAUTW
## 17 2023-11-10 WSI,KEM Ivy Project Sarah Jim
## 18 2023-02-21 WSI,KEM Ivy Project Sarah Jim
## 19 2024-03-30 WSI,KEM Ivy Project Sarah Jim
## 20 2024-04-26 WSI,KEM Ivy Project Sarah Jim
## 21 2024-05-31 WSI,KEM Ivy Project Sarah Jim
## 22 2024-06-14 WSI,KEM Ivy Project Sarah Jim
## 23 2024-07-26 WSI,KEM Ivy Project Sarah Jim
## 24 2024-08-30 WSI,KEM Ivy Project Sarah Jim
## 25 2024-09-27 WSI,KEM Ivy Project Sarah Jim
## 26 2024-10-26 WSI,KEM Ivy Project Sarah Jim
## 27 2024-11-30 WSI,KEM Ivy Project Sarah Jim
## Volunteers Volunteer.Hours Notes
## 1 21 84
## 2 40 120
## 3 25 75
## 4 50 150
## 5 25 75
## 6 42 126
## 7 28 84
## 8 0 0
## 9 20 80
## 10 22 88
## 11 11 44
## 12 17 68
## 13 15 60
## 14 8 32
## 15 9 36
## 16 0 0
## 17 41 164
## 18 35 140 with Leigh Joseph
## 19 25 100 with Special Bird Service
## 20 39 156
## 21 49 196
## 22 29 116
## 23 32 128
## 24 38 152
## 25 47 188
## 26 36 144
## 27 0 0
str(HAT_data_Volevents)## 'data.frame': 27 obs. of 6 variables:
## $ Date : chr "2024-04-21" "2023-12-01" "2024-04-27" "2024-06-09" ...
## $ Event : chr "Earth Day Restoration at Oak Haven Park" "lekwungen Community Toolshed Maplebank" "lekwungen Community Toolshed Maplebank" "lekwungen Community Toolshed Maplebank" ...
## $ Partner : chr "Central Saanich" "Cheryl Bryce" "Cheryl Bryce" "Cheryl Bryce" ...
## $ Volunteers : int 21 40 25 50 25 42 28 0 20 22 ...
## $ Volunteer.Hours: int 84 120 75 150 75 126 84 0 80 88 ...
## $ Notes : chr "" "" "" "" ...
# change Date to date format
unique(HAT_data_Volevents$Event) #4## [1] "Earth Day Restoration at Oak Haven Park"
## [2] "lekwungen Community Toolshed Maplebank"
## [3] "SNIDCEL Resiliency Project"
## [4] "WSI,KEM Ivy Project"
# [1] "W_S\xea\xfc_EM Ivy Project" "l_k_____n Community Toolshed: Maplebank"
# [3] "S_ID_E_ Resiliency Project" "Earth Day Restoration at Oak Haven Park"
length(unique(HAT_data_Volevents$Event))## [1] 4
HAT_data_inv_site_metrics## Work.Site Hours Days Area Biomass Site..
## 1 Bear Hill (HAT) 68.00 2 729.00 33.0 19
## 2 Camas Hill (HAT) 120.00 4 842.20 8.8 8
## 3 CGOP (NCC) 90.00 4 157.10 5.5 20
## 4 Chase Woods (NCC) 127.50 5 155.60 10.5 22
## 5 Funk (HAT) 30.00 1 3549.00 4.0 26
## 6 Goldenback Fern (ITC) 82.00 2 162.00 0.2 5
## 7 Goldstream (BC Parks) 52.50 2 3473.00 16.0 25
## 8 Good Neighbours (HAT) 155.00 5 2604.98 9.8 40
## 9 Harewood Plains (Nanaimo) 86.50 2 7831.00 13.0 24
## 10 Havenwood 30.00 1 342.00 2.5 33
## 11 Kindwood (NCC) 181.00 7 7310.00 19.5 4
## 12 Knockan Hill (Saanich) 49.00 2 3725.00 2.3 11
## 13 Little D'Arcy (ITC) 45.00 1 1095.00 0.9 15
## 14 Lohbrunner Woods (NCC) 30.00 1 5000.00 0.4 13
## 15 Maple Mountain (North Cowichan) 150.00 5 423.50 12.5 14
## 16 Mary Tod 52.50 1 11475.00 5.0 32
## 17 Matson Conservation Area (HAT) 113.00 10 3341.90 11.0 17
## 18 M\xe7WUE_ (Tsartlip) 0.00 3 182.70 1.2 30
## 19 Medicine Beach (ITC) 54.00 1 5460.00 2.1 6
## 20 Mt Tuam (ITC) 130.00 4 3398.00 12.5 27
## 21 NOT-SHARED-Site1 NA NA NA NA 1
## 22 NOT-SHARED-Site2 NA NA NA NA 2
## 23 Oak Bay - Walbran Park 231.25 6 1529.90 13.5 18
## 24 Oak Haven Park (HAT) 229.00 10 1041.00 6.5 9
## 25 PKOLS (Saanich) 66.00 3 2453.00 14.6 10
## 26 Purple Sanicle (HAT) 176.50 8 656.50 5.7 23
## 27 Quw'utsun Estuary (Satinflower) 37.50 1 74.00 0.3 35
## 28 Reginald Hill (NCC) 213.00 5 8622.00 30.0 21
## 29 Rocky Point (DND) 90.00 3 11832.93 8.6 3
## 30 S_ID_E_ (PH) 232.25 9 674.12 12.3 16
## 31 _IKEL (WLC) 0.00 0 0.00 0.0 31
## 32 Wallace Point (ITC) 30.00 1 1252.00 3.0 28
## 33 Woodwinds (ITC) 36.00 1 1190.00 4.0 29
## 34 WS\xea\xfcEM Ivy Project 116.00 7 3014.30 35.0 12
## 35 Xwaaqw'um (Stqeeye') 0.00 2 0.00 0.0 34
## 36 Yates Property 195.00 7 4586.82 27.0 7
## Site Partner_Code
## 1 Bear Hill HAT
## 2 Camas Hill HAT
## 3 CGOP NCC
## 4 Chase Woods NCC
## 5 Funk HAT
## 6 Goldenback Fern ITC
## 7 Goldstream BC Parks
## 8 Good Neighbours HAT
## 9 Harewood Plains Nanaimo
## 10 Havenwood NONE
## 11 Kindwood NCC
## 12 Knockan Hill Saanich
## 13 Little D'Arcy ITC
## 14 Lohbrunner Woods NCC
## 15 Maple Mountain North Cowichan
## 16 Mary Tod NONE
## 17 Matson Conservation Area HAT
## 18 MAWUEC Tsartlip
## 19 Medicine Beach ITC
## 20 Mt Tuam ITC
## 21 NOT-SHARED NONE
## 22 NOT-SHARED NONE
## 23 Oak Bay - Walbran Park NONE
## 24 Oak Haven Park HAT
## 25 PKOLS Saanich
## 26 Purple Sanicle HAT
## 27 Quw'u'sun Estuary Satinflower
## 28 Reginald Hill NCC
## 29 Rocky Point DND
## 30 SNIDCEL PH
## 31 TIKEL WLC
## 32 Wallace Point ITC
## 33 Woodwinds ITC
## 34 WSI,KEM Ivy Project NONE
## 35 Xwaaqw'um Stqeeye'
## 36 Yates Property NONE
str(HAT_data_inv_site_metrics)## 'data.frame': 36 obs. of 8 variables:
## $ Work.Site : chr "Bear Hill (HAT)" "Camas Hill (HAT)" "CGOP (NCC)" "Chase Woods (NCC)" ...
## $ Hours : num 68 120 90 128 30 ...
## $ Days : int 2 4 4 5 1 2 2 5 2 1 ...
## $ Area : num 729 842 157 156 3549 ...
## $ Biomass : num 33 8.8 5.5 10.5 4 0.2 16 9.8 13 2.5 ...
## $ Site.. : int 19 8 20 22 26 5 25 40 24 33 ...
## $ Site : chr "Bear Hill " "Camas Hill " "CGOP " "Chase Woods " ...
## $ Partner_Code: chr "HAT" "HAT" "NCC" "NCC" ...
unique(HAT_data_inv_site_metrics$Site) #34## [1] "Bear Hill " "Camas Hill "
## [3] "CGOP " "Chase Woods "
## [5] "Funk " "Goldenback Fern "
## [7] "Goldstream " "Good Neighbours "
## [9] "Harewood Plains " "Havenwood"
## [11] "Kindwood " "Knockan Hill "
## [13] "Little D'Arcy " "Lohbrunner Woods "
## [15] "Maple Mountain " "Mary Tod"
## [17] "Matson Conservation Area " "MAWUEC"
## [19] "Medicine Beach " "Mt Tuam "
## [21] "NOT-SHARED" "Oak Bay - Walbran Park"
## [23] "Oak Haven Park " "PKOLS "
## [25] "Purple Sanicle " "Quw'u'sun Estuary "
## [27] "Reginald Hill " "Rocky Point "
## [29] "SNIDCEL" "TIKEL "
## [31] "Wallace Point " "Woodwinds "
## [33] "WSI,KEM Ivy Project" "Xwaaqw'um "
## [35] "Yates Property"
str()str(oakhaven_2025_cover)## 'data.frame': 85 obs. of 16 variables:
## $ SortID : int 1 2 3 4 5 6 7 8 9 10 ...
## $ MonitorID : chr "T-DL" "T-DL" "T-DL" "T-DL" ...
## $ QUniqueID : logi NA NA NA NA NA NA ...
## $ Date : chr "2025-04-02" "2025-04-02" "2025-04-02" "2025-04-02" ...
## $ Year : int 2025 2025 2025 2025 2025 2025 2025 2025 2025 2025 ...
## $ Location : chr "Oak Haven" "Oak Haven" "Oak Haven" "Oak Haven" ...
## $ Treated : chr "Treated" "Treated" "Treated" "Treated" ...
## $ YearTreated : int 2024 2024 2024 2024 2024 2024 2024 2024 2024 2024 ...
## $ ExSpTabTitle : chr "2025 Oak Haven Treated #1" "2025 Oak Haven Treated #1" "2025 Oak Haven Treated #1" "2025 Oak Haven Treated #1" ...
## $ Baseline : int 1 1 1 1 1 1 1 1 1 1 ...
## $ Quadrat : chr "Q1" "Q1" "Q1" "Q1" ...
## $ QuadratLocation_m : num 4.3 4.3 4.3 4.3 4.3 4.3 4.3 4.3 4.3 4.3 ...
## $ Species : chr "shooting star" "Pacific sanicle" "camas" "herb robert geranium" ...
## $ Native_or_Invasive: chr "Native" "Native" "Native" "Invasive" ...
## $ PercentCover : int 10 3 10 4 10 3 25 9 1 25 ...
## $ OriginalSpecies : chr "shooting star" "Pacific sanicle" "camas" "herb robert geranium" ...
str(OH_GRP_Sp_Presence)## 'data.frame': 92 obs. of 18 variables:
## $ siteid : int 72 72 72 72 72 72 72 72 72 72 ...
## $ projectid : int 1 1 1 1 1 1 1 1 1 1 ...
## $ Site : chr "Oak Haven" "Oak Haven" "Oak Haven" "Oak Haven" ...
## $ Subregion : chr "C-SP" "C-SP" "C-SP" "C-SP" ...
## $ treatmentid : chr "1_72" "1_72" "1_72" "1_72" ...
## $ v_year_measure : int 2006 2006 2006 2006 2006 2006 2006 2006 2006 2006 ...
## $ replicate : int 1 1 1 1 1 1 1 1 1 1 ...
## $ speciesid : chr "Ger_dis" "Lin_bic" "Myo_dis" "Nem_par" ...
## $ speciesorigin : chr "exotic" "native" "exotic" "native" ...
## $ response : int 1 1 1 1 1 1 1 1 1 1 ...
## $ responselevel : chr "species" "species" "species" "species" ...
## $ responsemetric : chr "presence" "presence" "presence" "presence" ...
## $ measurementscale : chr "varied" "varied" "varied" "varied" ...
## $ measurementmetric: chr "m2" "m2" "m2" "m2" ...
## $ genus : chr "Geranium" "Linanthus" "Myosotis" "Nemophila" ...
## $ species : chr "dissectum" "bicolor" "discolor" "parviflora" ...
## $ lifeform : chr "annual forb" "annual forb" "annual forb" "annual forb" ...
## $ Treated : chr "Untreated" "Untreated" "Untreated" "Untreated" ...
OH_GRP_Sp_Presence## siteid projectid Site Subregion treatmentid v_year_measure replicate
## 1 72 1 Oak Haven C-SP 1_72 2006 1
## 2 72 1 Oak Haven C-SP 1_72 2006 1
## 3 72 1 Oak Haven C-SP 1_72 2006 1
## 4 72 1 Oak Haven C-SP 1_72 2006 1
## 5 72 1 Oak Haven C-SP 1_72 2006 1
## 6 72 1 Oak Haven C-SP 1_72 2006 1
## 7 72 1 Oak Haven C-SP 1_72 2006 1
## 8 72 1 Oak Haven C-SP 1_72 2006 1
## 9 72 1 Oak Haven C-SP 1_72 2006 1
## 10 72 1 Oak Haven C-SP 1_72 2006 1
## 11 72 1 Oak Haven C-SP 1_72 2006 1
## 12 72 1 Oak Haven C-SP 1_72 2006 1
## 13 72 1 Oak Haven C-SP 1_72 2006 1
## 14 72 1 Oak Haven C-SP 1_72 2006 1
## 15 72 1 Oak Haven C-SP 1_72 2006 1
## 16 72 1 Oak Haven C-SP 1_72 2006 1
## 17 72 1 Oak Haven C-SP 1_72 2006 1
## 18 72 1 Oak Haven C-SP 1_72 2006 1
## 19 72 1 Oak Haven C-SP 1_72 2006 1
## 20 72 1 Oak Haven C-SP 1_72 2006 1
## 21 72 1 Oak Haven C-SP 1_72 2006 1
## 22 72 1 Oak Haven C-SP 1_72 2006 1
## 23 72 1 Oak Haven C-SP 1_72 2006 1
## 24 72 1 Oak Haven C-SP 1_72 2006 1
## 25 72 1 Oak Haven C-SP 1_72 2006 1
## 26 72 1 Oak Haven C-SP 1_72 2006 1
## 27 72 1 Oak Haven C-SP 1_72 2006 1
## 28 72 1 Oak Haven C-SP 1_72 2006 1
## 29 72 1 Oak Haven C-SP 1_72 2006 1
## 30 72 1 Oak Haven C-SP 1_72 2006 1
## 31 72 1 Oak Haven C-SP 1_72 2006 1
## 32 72 1 Oak Haven C-SP 1_72 2006 1
## 33 72 1 Oak Haven C-SP 1_72 2006 1
## 34 72 1 Oak Haven C-SP 1_72 2006 1
## 35 72 1 Oak Haven C-SP 1_72 2006 1
## 36 72 1 Oak Haven C-SP 1_72 2006 1
## 37 72 1 Oak Haven C-SP 1_72 2006 1
## 38 72 1 Oak Haven C-SP 1_72 2006 1
## 39 72 1 Oak Haven C-SP 1_72 2006 1
## 40 72 1 Oak Haven C-SP 1_72 2006 1
## 41 72 1 Oak Haven C-SP 1_72 2006 1
## 42 72 1 Oak Haven C-SP 1_72 2006 1
## 43 72 1 Oak Haven C-SP 1_72 2006 1
## 44 72 1 Oak Haven C-SP 1_72 2006 1
## 45 72 1 Oak Haven C-SP 1_72 2006 1
## 46 72 1 Oak Haven C-SP 1_72 2006 1
## 47 72 1 Oak Haven C-SP 1_72 2006 1
## 48 72 1 Oak Haven C-SP 1_72 2006 1
## 49 72 1 Oak Haven C-SP 1_72 2006 1
## 50 72 1 Oak Haven C-SP 1_72 2006 1
## 51 72 1 Oak Haven C-SP 1_72 2006 1
## 52 72 1 Oak Haven C-SP 1_72 2006 1
## 53 72 1 Oak Haven C-SP 1_72 2006 1
## 54 72 1 Oak Haven C-SP 1_72 2006 1
## 55 72 1 Oak Haven C-SP 1_72 2006 1
## 56 72 1 Oak Haven C-SP 1_72 2006 1
## 57 72 1 Oak Haven C-SP 1_72 2006 1
## 58 72 1 Oak Haven C-SP 1_72 2006 1
## 59 72 1 Oak Haven C-SP 1_72 2006 1
## 60 72 1 Oak Haven C-SP 1_72 2006 1
## 61 72 1 Oak Haven C-SP 1_72 2006 1
## 62 72 1 Oak Haven C-SP 1_72 2006 1
## 63 72 1 Oak Haven C-SP 1_72 2006 1
## 64 72 1 Oak Haven C-SP 1_72 2006 1
## 65 72 1 Oak Haven C-SP 1_72 2006 1
## 66 72 1 Oak Haven C-SP 1_72 2006 1
## 67 72 1 Oak Haven C-SP 1_72 2006 1
## 68 72 1 Oak Haven C-SP 1_72 2006 1
## 69 72 1 Oak Haven C-SP 1_72 2006 1
## 70 72 1 Oak Haven C-SP 1_72 2006 1
## 71 72 1 Oak Haven C-SP 1_72 2006 1
## 72 72 1 Oak Haven C-SP 1_72 2006 1
## 73 72 1 Oak Haven C-SP 1_72 2006 1
## 74 72 1 Oak Haven C-SP 1_72 2006 1
## 75 72 1 Oak Haven C-SP 1_72 2006 1
## 76 72 1 Oak Haven C-SP 1_72 2006 1
## 77 72 1 Oak Haven C-SP 1_72 2006 1
## 78 72 1 Oak Haven C-SP 1_72 2006 1
## 79 72 1 Oak Haven C-SP 1_72 2006 1
## 80 72 1 Oak Haven C-SP 1_72 2006 1
## 81 72 1 Oak Haven C-SP 1_72 2006 1
## 82 72 1 Oak Haven C-SP 1_72 2006 1
## 83 72 1 Oak Haven C-SP 1_72 2006 1
## 84 72 1 Oak Haven C-SP 1_72 2006 1
## 85 72 1 Oak Haven C-SP 1_72 2006 1
## 86 72 1 Oak Haven C-SP 1_72 2006 1
## 87 72 1 Oak Haven C-SP 1_72 2006 1
## 88 72 1 Oak Haven C-SP 1_72 2006 1
## 89 72 1 Oak Haven C-SP 1_72 2006 1
## 90 72 1 Oak Haven C-SP 1_72 2006 1
## 91 72 1 Oak Haven C-SP 1_72 2006 1
## 92 72 1 Oak Haven C-SP 1_72 2006 1
## speciesid speciesorigin response responselevel responsemetric
## 1 Ger_dis exotic 1 species presence
## 2 Lin_bic native 1 species presence
## 3 Myo_dis exotic 1 species presence
## 4 Nem_par native 1 species presence
## 5 Ple_mac native 1 species presence
## 6 She_arv exotic 1 species presence
## 7 Sis_off exotic 1 species presence
## 8 Tri_dub exotic 1 species presence
## 9 Tri_wil native 1 species presence
## 10 Ver_arv exotic 1 species presence
## 11 Vic_hir exotic 1 species presence
## 12 Vic_sat exotic 1 species presence
## 13 Air_car exotic 1 species presence
## 14 Air_pra exotic 1 species presence
## 15 Bro_hor exotic 1 species presence
## 16 Bro_rig exotic 1 species presence
## 17 Bro_ste exotic 1 species presence
## 18 Cyn_ech exotic 1 species presence
## 19 Poa_ann exotic 1 species presence
## 20 Vul_bro exotic 1 species presence
## 21 Vul_myu exotic 1 species presence
## 22 Dau_car exotic 1 species presence
## 23 Ero_cic exotic 1 species presence
## 24 Lac_mur exotic 1 species presence
## 25 Lam_pur exotic 1 species presence
## 26 Pte_aqu native 1 species presence
## 27 Car_ino native 1 species presence
## 28 Dod_hen native 1 species presence
## 29 Lat_nev native 1 species presence
## 30 Lit_par native 1 species presence
## 31 Mic_dou native 1 species presence
## 32 Moe_mac native 1 species presence
## 33 Ran_occ native 1 species presence
## 34 San_cra native 1 species presence
## 35 Tri_bor native 1 species presence
## 36 G_Bro_spp unknown 1 species presence
## 37 Ame_aln native 1 species presence
## 38 Cir_vul exotic 1 species presence
## 39 Epi_ang native 1 species presence
## 40 Fra_vir native 1 species presence
## 41 G_Clay_spp native 1 species presence
## 42 G_Sen_spp exotic 1 species presence
## 43 G_Son_spp exotic 1 species presence
## 44 Rub_par native 1 species presence
## 45 Ach_mil native 1 species presence
## 46 All_cer native 1 species presence
## 47 Alli_acu native 1 species presence
## 48 Ana_mar native 1 species presence
## 49 Aqu_for native 1 species presence
## 50 Bel_per exotic 1 species presence
## 51 Cer_arv native 1 species presence
## 52 Cir_arv exotic 1 species presence
## 53 Cre_cap exotic 1 species presence
## 54 Eri_lan native 1 species presence
## 55 Gal_apa native 1 species presence
## 56 Ger_mol exotic 1 species presence
## 57 Ger_rob exotic 1 species presence
## 58 Hyp_rad exotic 1 species presence
## 59 Lap_com exotic 1 species presence
## 60 Leu_vul exotic 1 species presence
## 61 Luz_mul native 1 species presence
## 62 Mim_gut native 1 species presence
## 63 Nar_pse exotic 1 species presence
## 64 Pla_lan exotic 1 species presence
## 65 Pot_rec exotic 1 species presence
## 66 Pru_vul native 1 species presence
## 67 Rum_ace exotic 1 species presence
## 68 Ste_med exotic 1 species presence
## 69 Tri_hya native 1 species presence
## 70 Ant_odo exotic 1 species presence
## 71 Cyn_cri exotic 1 species presence
## 72 Dac_glo exotic 1 species presence
## 73 Dan_cal native 1 species presence
## 74 Ely_ely native 1 species presence
## 75 Fra_ves native 1 species presence
## 76 Hol_lan exotic 1 species presence
## 77 Meli_sub native 1 species presence
## 78 Poa_com exotic 1 species presence
## 79 Poa_pra exotic 1 species presence
## 80 Ber_aqu native 1 species presence
## 81 Cyt_sco exotic 1 species presence
## 82 Hed_hel exotic 1 species presence
## 83 Hol_dis native 1 species presence
## 84 Lon_his native 1 species presence
## 85 Oem_cer native 1 species presence
## 86 Rub_pra exotic 1 species presence
## 87 Rub_urs native 1 species presence
## 88 Sym_alb native 1 species presence
## 89 Ace_mac native 1 species presence
## 90 Arb_men native 1 species presence
## 91 Pse_men native 1 species presence
## 92 Que_gar native 1 species presence
## measurementscale measurementmetric genus species
## 1 varied m2 Geranium dissectum
## 2 varied m2 Linanthus bicolor
## 3 varied m2 Myosotis discolor
## 4 varied m2 Nemophila parviflora
## 5 varied m2 Plectritis macrocera
## 6 varied m2 Sherardia arvensis
## 7 varied m2 Sisymbrium officinale
## 8 varied m2 Trifolium dubium
## 9 varied m2 Trifolium willdenovii
## 10 varied m2 Veronica arvensis
## 11 varied m2 Vicia hirsuta
## 12 varied m2 Vicia sativa
## 13 varied m2 Aira caryophyllea
## 14 varied m2 Aira praecox
## 15 varied m2 Bromus hordeaceus
## 16 varied m2 Bromus rigidus
## 17 varied m2 Bromus sterilis
## 18 varied m2 Cynosurus echinatus
## 19 varied m2 Poa annua
## 20 varied m2 Vulpia bromoides
## 21 varied m2 Vulpia myuros
## 22 varied m2 Daucus carota
## 23 varied m2 Erodium cicutarium
## 24 varied m2 Lactuca muralis
## 25 varied m2 Lamium purpureum
## 26 varied m2 Pteridium aquilinum
## 27 varied m2 Carex inops
## 28 varied m2 Dodecatheon hendersonii
## 29 varied m2 Lathyrus nevadensis
## 30 varied m2 Lithophragma parviflorum
## 31 varied m2 Micromeria douglasii
## 32 varied m2 Moehringia macrophylla
## 33 varied m2 Ranunculus occidentalis
## 34 varied m2 Sanicula crassicaulis
## 35 varied m2 Trientalis borealis
## 36 varied m2 Bromus spp
## 37 varied m2 Amelanchier alnifolia
## 38 varied m2 Cirsium vulgare
## 39 varied m2 Epilobium angustifolium
## 40 varied m2 Fragaria virginiana
## 41 varied m2 Claytonia spp
## 42 varied m2 Senecio spp
## 43 varied m2 Sonchus spp
## 44 varied m2 Rubus parviflorus
## 45 varied m2 Achillea millefolium
## 46 varied m2 Allium cernuum
## 47 varied m2 Allium acuminatum
## 48 varied m2 Anaphalis margaritacea
## 49 varied m2 Aquilegia formosa
## 50 varied m2 Bellis perennis
## 51 varied m2 Cerastium arvense
## 52 varied m2 Cirsium arvense
## 53 varied m2 Crepis capillaris
## 54 varied m2 Eriophyllum lanatum
## 55 varied m2 Galium aparine
## 56 varied m2 Geranium molle
## 57 varied m2 Geranium robertianum
## 58 varied m2 Hypochaeris radicata
## 59 varied m2 Lapsana communis
## 60 varied m2 Leucanthemum vulgare
## 61 varied m2 Luzula multiflora
## 62 varied m2 Mimulus guttatus
## 63 varied m2 Narcissus pseudonarcissus
## 64 varied m2 Plantago lanceolata
## 65 varied m2 Potentilla recta
## 66 varied m2 Prunella vulgaris
## 67 varied m2 Rumex acetosella
## 68 varied m2 Stellaria media
## 69 varied m2 Triteleia hyacinthina
## 70 varied m2 Anthoxanthum odoratum
## 71 varied m2 Cynosurus cristatus
## 72 varied m2 Dactylis glomerata
## 73 varied m2 Danthonia californica
## 74 varied m2 Elymus elymoides
## 75 varied m2 Fragaria vesca
## 76 varied m2 Holcus lanatus
## 77 varied m2 Melica subulata
## 78 varied m2 Poa compressa
## 79 varied m2 Poa pratensis
## 80 varied m2 Berberis aquifolium
## 81 varied m2 Cytisus scoparius
## 82 varied m2 Hedera helix
## 83 varied m2 Holodiscus discolor
## 84 varied m2 Lonicera hispidula
## 85 varied m2 Oemleria cerasiformis
## 86 varied m2 Rubus praecox
## 87 varied m2 Rubus ursinus
## 88 varied m2 Symphoricarpos albus
## 89 varied m2 Acer macrophyllum
## 90 varied m2 Arbutus menziesii
## 91 varied m2 Pseudotsuga menziesii
## 92 varied m2 Quercus garryana
## lifeform Treated
## 1 annual forb Untreated
## 2 annual forb Untreated
## 3 annual forb Untreated
## 4 annual forb Untreated
## 5 annual forb Untreated
## 6 annual forb Untreated
## 7 annual forb Untreated
## 8 annual forb Untreated
## 9 annual forb Untreated
## 10 annual forb Untreated
## 11 annual forb Untreated
## 12 annual forb Untreated
## 13 annual grass Untreated
## 14 annual grass Untreated
## 15 annual grass Untreated
## 16 annual grass Untreated
## 17 annual grass Untreated
## 18 annual grass Untreated
## 19 annual grass Untreated
## 20 annual grass Untreated
## 21 annual grass Untreated
## 22 biennial forb Untreated
## 23 biennial forb Untreated
## 24 biennial forb Untreated
## 25 biennial forb Untreated
## 26 fern Untreated
## 27 forb Untreated
## 28 forb Untreated
## 29 forb Untreated
## 30 forb Untreated
## 31 forb Untreated
## 32 forb Untreated
## 33 forb Untreated
## 34 forb Untreated
## 35 forb Untreated
## 36 grass Untreated
## 37 shrub Untreated
## 38 forb Untreated
## 39 forb Untreated
## 40 forb Untreated
## 41 annual forb Untreated
## 42 forb Untreated
## 43 annual forb Untreated
## 44 shrub Untreated
## 45 perennial forb Untreated
## 46 perennial forb Untreated
## 47 perennial forb Untreated
## 48 perennial forb Untreated
## 49 perennial forb Untreated
## 50 perennial forb Untreated
## 51 perennial forb Untreated
## 52 perennial forb Untreated
## 53 perennial forb Untreated
## 54 perennial forb Untreated
## 55 perennial forb Untreated
## 56 perennial forb Untreated
## 57 perennial forb Untreated
## 58 perennial forb Untreated
## 59 perennial forb Untreated
## 60 perennial forb Untreated
## 61 perennial forb Untreated
## 62 perennial forb Untreated
## 63 perennial forb Untreated
## 64 perennial forb Untreated
## 65 perennial forb Untreated
## 66 perennial forb Untreated
## 67 perennial forb Untreated
## 68 perennial forb Untreated
## 69 perennial forb Untreated
## 70 perennial grass Untreated
## 71 perennial grass Untreated
## 72 perennial grass Untreated
## 73 perennial grass Untreated
## 74 perennial grass Untreated
## 75 perennial grass Untreated
## 76 perennial grass Untreated
## 77 perennial grass Untreated
## 78 perennial grass Untreated
## 79 perennial grass Untreated
## 80 shrub Untreated
## 81 shrub Untreated
## 82 shrub Untreated
## 83 shrub Untreated
## 84 shrub Untreated
## 85 shrub Untreated
## 86 shrub Untreated
## 87 shrub Untreated
## 88 shrub Untreated
## 89 tree Untreated
## 90 tree Untreated
## 91 tree Untreated
## 92 tree Untreated
oakhaven_2025_cover$Date <- as.Date(oakhaven_2025_cover$Date)
str(oakhaven_2025_cover)## 'data.frame': 85 obs. of 16 variables:
## $ SortID : int 1 2 3 4 5 6 7 8 9 10 ...
## $ MonitorID : chr "T-DL" "T-DL" "T-DL" "T-DL" ...
## $ QUniqueID : logi NA NA NA NA NA NA ...
## $ Date : Date, format: "2025-04-02" "2025-04-02" ...
## $ Year : int 2025 2025 2025 2025 2025 2025 2025 2025 2025 2025 ...
## $ Location : chr "Oak Haven" "Oak Haven" "Oak Haven" "Oak Haven" ...
## $ Treated : chr "Treated" "Treated" "Treated" "Treated" ...
## $ YearTreated : int 2024 2024 2024 2024 2024 2024 2024 2024 2024 2024 ...
## $ ExSpTabTitle : chr "2025 Oak Haven Treated #1" "2025 Oak Haven Treated #1" "2025 Oak Haven Treated #1" "2025 Oak Haven Treated #1" ...
## $ Baseline : int 1 1 1 1 1 1 1 1 1 1 ...
## $ Quadrat : chr "Q1" "Q1" "Q1" "Q1" ...
## $ QuadratLocation_m : num 4.3 4.3 4.3 4.3 4.3 4.3 4.3 4.3 4.3 4.3 ...
## $ Species : chr "shooting star" "Pacific sanicle" "camas" "herb robert geranium" ...
## $ Native_or_Invasive: chr "Native" "Native" "Native" "Invasive" ...
## $ PercentCover : int 10 3 10 4 10 3 25 9 1 25 ...
## $ OriginalSpecies : chr "shooting star" "Pacific sanicle" "camas" "herb robert geranium" ...
str(OH_timeline)## 'data.frame': 6 obs. of 7 variables:
## $ What : chr "OHP Monitoring Cover" "OHP Monitoring Cover" "OHP Treatment" "HP Park Creation" ...
## $ When : chr "2025-04-02" "2025-04-03" "2024-04-02" "2002-01-01" ...
## $ EventType : chr "Cover_Monitor" "Cover_Monitor" "Treatment_Event" "Park_Created" ...
## $ Where : chr "Oak Haven Park" "Oak Haven Park" "Oak Haven Park" "Havenwood Park" ...
## $ LocationID: chr "OHP" "OHP" "OHP" "HP" ...
## $ group : chr "monitoring" "monitoring" "treatment" "park_creation" ...
## $ end : logi NA NA NA NA NA NA
OH_timeline$When <- as.Date(OH_timeline$When)
OH_timeline$end <- as.Date(OH_timeline$end)
str(OH_timeline)## 'data.frame': 6 obs. of 7 variables:
## $ What : chr "OHP Monitoring Cover" "OHP Monitoring Cover" "OHP Treatment" "HP Park Creation" ...
## $ When : Date, format: "2025-04-02" "2025-04-03" ...
## $ EventType : chr "Cover_Monitor" "Cover_Monitor" "Treatment_Event" "Park_Created" ...
## $ Where : chr "Oak Haven Park" "Oak Haven Park" "Oak Haven Park" "Havenwood Park" ...
## $ LocationID: chr "OHP" "OHP" "OHP" "HP" ...
## $ group : chr "monitoring" "monitoring" "treatment" "park_creation" ...
## $ end : Date, format: NA NA ...
write.csv(OH_timeline, "data/OH_timeline_date.csv", row.names = FALSE)library(readtext)
# text not showing UTF-8 characters
# , fileEncoding="UTF-8"
HAT_mca_2023_2024_text_utf8 <- readtext("data/MatsonMattocksFieldLog-2016-2024/2023_2024-FieldLog-MatsonMattocks.docx", encoding = "UTF-8")$text
HAT_mca_2023_2024_text <- readtext("data/MatsonMattocksFieldLog-2016-2024/2023_2024-FieldLog-MatsonMattocks.docx")$text
HAT_mca_2022_2023_text <- readtext("data/MatsonMattocksFieldLog-2016-2024/2022_2023 Field Log - Matson Mattocks.docx")$text
# Split text into parts using new line character:
HAT_mca_2023_2024_text_utf8_parts <- strsplit(HAT_mca_2023_2024_text_utf8, "\n")[[1]]
HAT_mca_2023_2024_text_parts <- strsplit(HAT_mca_2023_2024_text, "\n")[[1]]
HAT_mca_2022_2023_text_parts <- strsplit(HAT_mca_2022_2023_text, "\n")[[1]]
str(HAT_mca_2023_2024_text_parts)## chr [1:776] "SUMMARY" ...
# HAT_mca_2023_2024_text_parts
# access lines
Date_2024_10_30 <- HAT_mca_2023_2024_text_parts[7]
str(Date_2024_10_30)## chr "30 October 2024"
# save as a text file
lapply(HAT_mca_2023_2024_text_utf8_parts, write, "data/MatsonMattocksFieldLog-2016-2024/HAT_mca_2023_2024_text_utf8_parts.txt", append=TRUE)## [[1]]
## NULL
##
## [[2]]
## NULL
##
## [[3]]
## NULL
##
## [[4]]
## NULL
##
## [[5]]
## NULL
##
## [[6]]
## NULL
##
## [[7]]
## NULL
##
## [[8]]
## NULL
##
## [[9]]
## NULL
##
## [[10]]
## NULL
##
## [[11]]
## NULL
##
## [[12]]
## NULL
##
## [[13]]
## NULL
##
## [[14]]
## NULL
##
## [[15]]
## NULL
##
## [[16]]
## NULL
##
## [[17]]
## NULL
##
## [[18]]
## NULL
##
## [[19]]
## NULL
##
## [[20]]
## NULL
##
## [[21]]
## NULL
##
## [[22]]
## NULL
##
## [[23]]
## NULL
##
## [[24]]
## NULL
##
## [[25]]
## NULL
##
## [[26]]
## NULL
##
## [[27]]
## NULL
##
## [[28]]
## NULL
##
## [[29]]
## NULL
##
## [[30]]
## NULL
##
## [[31]]
## NULL
##
## [[32]]
## NULL
##
## [[33]]
## NULL
##
## [[34]]
## NULL
##
## [[35]]
## NULL
##
## [[36]]
## NULL
##
## [[37]]
## NULL
##
## [[38]]
## NULL
##
## [[39]]
## NULL
##
## [[40]]
## NULL
##
## [[41]]
## NULL
##
## [[42]]
## NULL
##
## [[43]]
## NULL
##
## [[44]]
## NULL
##
## [[45]]
## NULL
##
## [[46]]
## NULL
##
## [[47]]
## NULL
##
## [[48]]
## NULL
##
## [[49]]
## NULL
##
## [[50]]
## NULL
##
## [[51]]
## NULL
##
## [[52]]
## NULL
##
## [[53]]
## NULL
##
## [[54]]
## NULL
##
## [[55]]
## NULL
##
## [[56]]
## NULL
##
## [[57]]
## NULL
##
## [[58]]
## NULL
##
## [[59]]
## NULL
##
## [[60]]
## NULL
##
## [[61]]
## NULL
##
## [[62]]
## NULL
##
## [[63]]
## NULL
##
## [[64]]
## NULL
##
## [[65]]
## NULL
##
## [[66]]
## NULL
##
## [[67]]
## NULL
##
## [[68]]
## NULL
##
## [[69]]
## NULL
##
## [[70]]
## NULL
##
## [[71]]
## NULL
##
## [[72]]
## NULL
##
## [[73]]
## NULL
##
## [[74]]
## NULL
##
## [[75]]
## NULL
##
## [[76]]
## NULL
##
## [[77]]
## NULL
##
## [[78]]
## NULL
##
## [[79]]
## NULL
##
## [[80]]
## NULL
##
## [[81]]
## NULL
##
## [[82]]
## NULL
##
## [[83]]
## NULL
##
## [[84]]
## NULL
##
## [[85]]
## NULL
##
## [[86]]
## NULL
##
## [[87]]
## NULL
##
## [[88]]
## NULL
##
## [[89]]
## NULL
##
## [[90]]
## NULL
##
## [[91]]
## NULL
##
## [[92]]
## NULL
##
## [[93]]
## NULL
##
## [[94]]
## NULL
##
## [[95]]
## NULL
##
## [[96]]
## NULL
##
## [[97]]
## NULL
##
## [[98]]
## NULL
##
## [[99]]
## NULL
##
## [[100]]
## NULL
##
## [[101]]
## NULL
##
## [[102]]
## NULL
##
## [[103]]
## NULL
##
## [[104]]
## NULL
##
## [[105]]
## NULL
##
## [[106]]
## NULL
##
## [[107]]
## NULL
##
## [[108]]
## NULL
##
## [[109]]
## NULL
##
## [[110]]
## NULL
##
## [[111]]
## NULL
##
## [[112]]
## NULL
##
## [[113]]
## NULL
##
## [[114]]
## NULL
##
## [[115]]
## NULL
##
## [[116]]
## NULL
##
## [[117]]
## NULL
##
## [[118]]
## NULL
##
## [[119]]
## NULL
##
## [[120]]
## NULL
##
## [[121]]
## NULL
##
## [[122]]
## NULL
##
## [[123]]
## NULL
##
## [[124]]
## NULL
##
## [[125]]
## NULL
##
## [[126]]
## NULL
##
## [[127]]
## NULL
##
## [[128]]
## NULL
##
## [[129]]
## NULL
##
## [[130]]
## NULL
##
## [[131]]
## NULL
##
## [[132]]
## NULL
##
## [[133]]
## NULL
##
## [[134]]
## NULL
##
## [[135]]
## NULL
##
## [[136]]
## NULL
##
## [[137]]
## NULL
##
## [[138]]
## NULL
##
## [[139]]
## NULL
##
## [[140]]
## NULL
##
## [[141]]
## NULL
##
## [[142]]
## NULL
##
## [[143]]
## NULL
##
## [[144]]
## NULL
##
## [[145]]
## NULL
##
## [[146]]
## NULL
##
## [[147]]
## NULL
##
## [[148]]
## NULL
##
## [[149]]
## NULL
##
## [[150]]
## NULL
##
## [[151]]
## NULL
##
## [[152]]
## NULL
##
## [[153]]
## NULL
##
## [[154]]
## NULL
##
## [[155]]
## NULL
##
## [[156]]
## NULL
##
## [[157]]
## NULL
##
## [[158]]
## NULL
##
## [[159]]
## NULL
##
## [[160]]
## NULL
##
## [[161]]
## NULL
##
## [[162]]
## NULL
##
## [[163]]
## NULL
##
## [[164]]
## NULL
##
## [[165]]
## NULL
##
## [[166]]
## NULL
##
## [[167]]
## NULL
##
## [[168]]
## NULL
##
## [[169]]
## NULL
##
## [[170]]
## NULL
##
## [[171]]
## NULL
##
## [[172]]
## NULL
##
## [[173]]
## NULL
##
## [[174]]
## NULL
##
## [[175]]
## NULL
##
## [[176]]
## NULL
##
## [[177]]
## NULL
##
## [[178]]
## NULL
##
## [[179]]
## NULL
##
## [[180]]
## NULL
##
## [[181]]
## NULL
##
## [[182]]
## NULL
##
## [[183]]
## NULL
##
## [[184]]
## NULL
##
## [[185]]
## NULL
##
## [[186]]
## NULL
##
## [[187]]
## NULL
##
## [[188]]
## NULL
##
## [[189]]
## NULL
##
## [[190]]
## NULL
##
## [[191]]
## NULL
##
## [[192]]
## NULL
##
## [[193]]
## NULL
##
## [[194]]
## NULL
##
## [[195]]
## NULL
##
## [[196]]
## NULL
##
## [[197]]
## NULL
##
## [[198]]
## NULL
##
## [[199]]
## NULL
##
## [[200]]
## NULL
##
## [[201]]
## NULL
##
## [[202]]
## NULL
##
## [[203]]
## NULL
##
## [[204]]
## NULL
##
## [[205]]
## NULL
##
## [[206]]
## NULL
##
## [[207]]
## NULL
##
## [[208]]
## NULL
##
## [[209]]
## NULL
##
## [[210]]
## NULL
##
## [[211]]
## NULL
##
## [[212]]
## NULL
##
## [[213]]
## NULL
##
## [[214]]
## NULL
##
## [[215]]
## NULL
##
## [[216]]
## NULL
##
## [[217]]
## NULL
##
## [[218]]
## NULL
##
## [[219]]
## NULL
##
## [[220]]
## NULL
##
## [[221]]
## NULL
##
## [[222]]
## NULL
##
## [[223]]
## NULL
##
## [[224]]
## NULL
##
## [[225]]
## NULL
##
## [[226]]
## NULL
##
## [[227]]
## NULL
##
## [[228]]
## NULL
##
## [[229]]
## NULL
##
## [[230]]
## NULL
##
## [[231]]
## NULL
##
## [[232]]
## NULL
##
## [[233]]
## NULL
##
## [[234]]
## NULL
##
## [[235]]
## NULL
##
## [[236]]
## NULL
##
## [[237]]
## NULL
##
## [[238]]
## NULL
##
## [[239]]
## NULL
##
## [[240]]
## NULL
##
## [[241]]
## NULL
##
## [[242]]
## NULL
##
## [[243]]
## NULL
##
## [[244]]
## NULL
##
## [[245]]
## NULL
##
## [[246]]
## NULL
##
## [[247]]
## NULL
##
## [[248]]
## NULL
##
## [[249]]
## NULL
##
## [[250]]
## NULL
##
## [[251]]
## NULL
##
## [[252]]
## NULL
##
## [[253]]
## NULL
##
## [[254]]
## NULL
##
## [[255]]
## NULL
##
## [[256]]
## NULL
##
## [[257]]
## NULL
##
## [[258]]
## NULL
##
## [[259]]
## NULL
##
## [[260]]
## NULL
##
## [[261]]
## NULL
##
## [[262]]
## NULL
##
## [[263]]
## NULL
##
## [[264]]
## NULL
##
## [[265]]
## NULL
##
## [[266]]
## NULL
##
## [[267]]
## NULL
##
## [[268]]
## NULL
##
## [[269]]
## NULL
##
## [[270]]
## NULL
##
## [[271]]
## NULL
##
## [[272]]
## NULL
##
## [[273]]
## NULL
##
## [[274]]
## NULL
##
## [[275]]
## NULL
##
## [[276]]
## NULL
##
## [[277]]
## NULL
##
## [[278]]
## NULL
##
## [[279]]
## NULL
##
## [[280]]
## NULL
##
## [[281]]
## NULL
##
## [[282]]
## NULL
##
## [[283]]
## NULL
##
## [[284]]
## NULL
##
## [[285]]
## NULL
##
## [[286]]
## NULL
##
## [[287]]
## NULL
##
## [[288]]
## NULL
##
## [[289]]
## NULL
##
## [[290]]
## NULL
##
## [[291]]
## NULL
##
## [[292]]
## NULL
##
## [[293]]
## NULL
##
## [[294]]
## NULL
##
## [[295]]
## NULL
##
## [[296]]
## NULL
##
## [[297]]
## NULL
##
## [[298]]
## NULL
##
## [[299]]
## NULL
##
## [[300]]
## NULL
##
## [[301]]
## NULL
##
## [[302]]
## NULL
##
## [[303]]
## NULL
##
## [[304]]
## NULL
##
## [[305]]
## NULL
##
## [[306]]
## NULL
##
## [[307]]
## NULL
##
## [[308]]
## NULL
##
## [[309]]
## NULL
##
## [[310]]
## NULL
##
## [[311]]
## NULL
##
## [[312]]
## NULL
##
## [[313]]
## NULL
##
## [[314]]
## NULL
##
## [[315]]
## NULL
##
## [[316]]
## NULL
##
## [[317]]
## NULL
##
## [[318]]
## NULL
##
## [[319]]
## NULL
##
## [[320]]
## NULL
##
## [[321]]
## NULL
##
## [[322]]
## NULL
##
## [[323]]
## NULL
##
## [[324]]
## NULL
##
## [[325]]
## NULL
##
## [[326]]
## NULL
##
## [[327]]
## NULL
##
## [[328]]
## NULL
##
## [[329]]
## NULL
##
## [[330]]
## NULL
##
## [[331]]
## NULL
##
## [[332]]
## NULL
##
## [[333]]
## NULL
##
## [[334]]
## NULL
##
## [[335]]
## NULL
##
## [[336]]
## NULL
##
## [[337]]
## NULL
##
## [[338]]
## NULL
##
## [[339]]
## NULL
##
## [[340]]
## NULL
##
## [[341]]
## NULL
##
## [[342]]
## NULL
##
## [[343]]
## NULL
##
## [[344]]
## NULL
##
## [[345]]
## NULL
##
## [[346]]
## NULL
##
## [[347]]
## NULL
##
## [[348]]
## NULL
##
## [[349]]
## NULL
##
## [[350]]
## NULL
##
## [[351]]
## NULL
##
## [[352]]
## NULL
##
## [[353]]
## NULL
##
## [[354]]
## NULL
##
## [[355]]
## NULL
##
## [[356]]
## NULL
##
## [[357]]
## NULL
##
## [[358]]
## NULL
##
## [[359]]
## NULL
##
## [[360]]
## NULL
##
## [[361]]
## NULL
##
## [[362]]
## NULL
##
## [[363]]
## NULL
##
## [[364]]
## NULL
##
## [[365]]
## NULL
##
## [[366]]
## NULL
##
## [[367]]
## NULL
##
## [[368]]
## NULL
##
## [[369]]
## NULL
##
## [[370]]
## NULL
##
## [[371]]
## NULL
##
## [[372]]
## NULL
##
## [[373]]
## NULL
##
## [[374]]
## NULL
##
## [[375]]
## NULL
##
## [[376]]
## NULL
##
## [[377]]
## NULL
##
## [[378]]
## NULL
##
## [[379]]
## NULL
##
## [[380]]
## NULL
##
## [[381]]
## NULL
##
## [[382]]
## NULL
##
## [[383]]
## NULL
##
## [[384]]
## NULL
##
## [[385]]
## NULL
##
## [[386]]
## NULL
##
## [[387]]
## NULL
##
## [[388]]
## NULL
##
## [[389]]
## NULL
##
## [[390]]
## NULL
##
## [[391]]
## NULL
##
## [[392]]
## NULL
##
## [[393]]
## NULL
##
## [[394]]
## NULL
##
## [[395]]
## NULL
##
## [[396]]
## NULL
##
## [[397]]
## NULL
##
## [[398]]
## NULL
##
## [[399]]
## NULL
##
## [[400]]
## NULL
##
## [[401]]
## NULL
##
## [[402]]
## NULL
##
## [[403]]
## NULL
##
## [[404]]
## NULL
##
## [[405]]
## NULL
##
## [[406]]
## NULL
##
## [[407]]
## NULL
##
## [[408]]
## NULL
##
## [[409]]
## NULL
##
## [[410]]
## NULL
##
## [[411]]
## NULL
##
## [[412]]
## NULL
##
## [[413]]
## NULL
##
## [[414]]
## NULL
##
## [[415]]
## NULL
##
## [[416]]
## NULL
##
## [[417]]
## NULL
##
## [[418]]
## NULL
##
## [[419]]
## NULL
##
## [[420]]
## NULL
##
## [[421]]
## NULL
##
## [[422]]
## NULL
##
## [[423]]
## NULL
##
## [[424]]
## NULL
##
## [[425]]
## NULL
##
## [[426]]
## NULL
##
## [[427]]
## NULL
##
## [[428]]
## NULL
##
## [[429]]
## NULL
##
## [[430]]
## NULL
##
## [[431]]
## NULL
##
## [[432]]
## NULL
##
## [[433]]
## NULL
##
## [[434]]
## NULL
##
## [[435]]
## NULL
##
## [[436]]
## NULL
##
## [[437]]
## NULL
##
## [[438]]
## NULL
##
## [[439]]
## NULL
##
## [[440]]
## NULL
##
## [[441]]
## NULL
##
## [[442]]
## NULL
##
## [[443]]
## NULL
##
## [[444]]
## NULL
##
## [[445]]
## NULL
##
## [[446]]
## NULL
##
## [[447]]
## NULL
##
## [[448]]
## NULL
##
## [[449]]
## NULL
##
## [[450]]
## NULL
##
## [[451]]
## NULL
##
## [[452]]
## NULL
##
## [[453]]
## NULL
##
## [[454]]
## NULL
##
## [[455]]
## NULL
##
## [[456]]
## NULL
##
## [[457]]
## NULL
##
## [[458]]
## NULL
##
## [[459]]
## NULL
##
## [[460]]
## NULL
##
## [[461]]
## NULL
##
## [[462]]
## NULL
##
## [[463]]
## NULL
##
## [[464]]
## NULL
##
## [[465]]
## NULL
##
## [[466]]
## NULL
##
## [[467]]
## NULL
##
## [[468]]
## NULL
##
## [[469]]
## NULL
##
## [[470]]
## NULL
##
## [[471]]
## NULL
##
## [[472]]
## NULL
##
## [[473]]
## NULL
##
## [[474]]
## NULL
##
## [[475]]
## NULL
##
## [[476]]
## NULL
##
## [[477]]
## NULL
##
## [[478]]
## NULL
##
## [[479]]
## NULL
##
## [[480]]
## NULL
##
## [[481]]
## NULL
##
## [[482]]
## NULL
##
## [[483]]
## NULL
##
## [[484]]
## NULL
##
## [[485]]
## NULL
##
## [[486]]
## NULL
##
## [[487]]
## NULL
##
## [[488]]
## NULL
##
## [[489]]
## NULL
##
## [[490]]
## NULL
##
## [[491]]
## NULL
##
## [[492]]
## NULL
##
## [[493]]
## NULL
##
## [[494]]
## NULL
##
## [[495]]
## NULL
##
## [[496]]
## NULL
##
## [[497]]
## NULL
##
## [[498]]
## NULL
##
## [[499]]
## NULL
##
## [[500]]
## NULL
##
## [[501]]
## NULL
##
## [[502]]
## NULL
##
## [[503]]
## NULL
##
## [[504]]
## NULL
##
## [[505]]
## NULL
##
## [[506]]
## NULL
##
## [[507]]
## NULL
##
## [[508]]
## NULL
##
## [[509]]
## NULL
##
## [[510]]
## NULL
##
## [[511]]
## NULL
##
## [[512]]
## NULL
##
## [[513]]
## NULL
##
## [[514]]
## NULL
##
## [[515]]
## NULL
##
## [[516]]
## NULL
##
## [[517]]
## NULL
##
## [[518]]
## NULL
##
## [[519]]
## NULL
##
## [[520]]
## NULL
##
## [[521]]
## NULL
##
## [[522]]
## NULL
##
## [[523]]
## NULL
##
## [[524]]
## NULL
##
## [[525]]
## NULL
##
## [[526]]
## NULL
##
## [[527]]
## NULL
##
## [[528]]
## NULL
##
## [[529]]
## NULL
##
## [[530]]
## NULL
##
## [[531]]
## NULL
##
## [[532]]
## NULL
##
## [[533]]
## NULL
##
## [[534]]
## NULL
##
## [[535]]
## NULL
##
## [[536]]
## NULL
##
## [[537]]
## NULL
##
## [[538]]
## NULL
##
## [[539]]
## NULL
##
## [[540]]
## NULL
##
## [[541]]
## NULL
##
## [[542]]
## NULL
##
## [[543]]
## NULL
##
## [[544]]
## NULL
##
## [[545]]
## NULL
##
## [[546]]
## NULL
##
## [[547]]
## NULL
##
## [[548]]
## NULL
##
## [[549]]
## NULL
##
## [[550]]
## NULL
##
## [[551]]
## NULL
##
## [[552]]
## NULL
##
## [[553]]
## NULL
##
## [[554]]
## NULL
##
## [[555]]
## NULL
##
## [[556]]
## NULL
##
## [[557]]
## NULL
##
## [[558]]
## NULL
##
## [[559]]
## NULL
##
## [[560]]
## NULL
##
## [[561]]
## NULL
##
## [[562]]
## NULL
##
## [[563]]
## NULL
##
## [[564]]
## NULL
##
## [[565]]
## NULL
##
## [[566]]
## NULL
##
## [[567]]
## NULL
##
## [[568]]
## NULL
##
## [[569]]
## NULL
##
## [[570]]
## NULL
##
## [[571]]
## NULL
##
## [[572]]
## NULL
##
## [[573]]
## NULL
##
## [[574]]
## NULL
##
## [[575]]
## NULL
##
## [[576]]
## NULL
##
## [[577]]
## NULL
##
## [[578]]
## NULL
##
## [[579]]
## NULL
##
## [[580]]
## NULL
##
## [[581]]
## NULL
##
## [[582]]
## NULL
##
## [[583]]
## NULL
##
## [[584]]
## NULL
##
## [[585]]
## NULL
##
## [[586]]
## NULL
##
## [[587]]
## NULL
##
## [[588]]
## NULL
##
## [[589]]
## NULL
##
## [[590]]
## NULL
##
## [[591]]
## NULL
##
## [[592]]
## NULL
##
## [[593]]
## NULL
##
## [[594]]
## NULL
##
## [[595]]
## NULL
##
## [[596]]
## NULL
##
## [[597]]
## NULL
##
## [[598]]
## NULL
##
## [[599]]
## NULL
##
## [[600]]
## NULL
##
## [[601]]
## NULL
##
## [[602]]
## NULL
##
## [[603]]
## NULL
##
## [[604]]
## NULL
##
## [[605]]
## NULL
##
## [[606]]
## NULL
##
## [[607]]
## NULL
##
## [[608]]
## NULL
##
## [[609]]
## NULL
##
## [[610]]
## NULL
##
## [[611]]
## NULL
##
## [[612]]
## NULL
##
## [[613]]
## NULL
##
## [[614]]
## NULL
##
## [[615]]
## NULL
##
## [[616]]
## NULL
##
## [[617]]
## NULL
##
## [[618]]
## NULL
##
## [[619]]
## NULL
##
## [[620]]
## NULL
##
## [[621]]
## NULL
##
## [[622]]
## NULL
##
## [[623]]
## NULL
##
## [[624]]
## NULL
##
## [[625]]
## NULL
##
## [[626]]
## NULL
##
## [[627]]
## NULL
##
## [[628]]
## NULL
##
## [[629]]
## NULL
##
## [[630]]
## NULL
##
## [[631]]
## NULL
##
## [[632]]
## NULL
##
## [[633]]
## NULL
##
## [[634]]
## NULL
##
## [[635]]
## NULL
##
## [[636]]
## NULL
##
## [[637]]
## NULL
##
## [[638]]
## NULL
##
## [[639]]
## NULL
##
## [[640]]
## NULL
##
## [[641]]
## NULL
##
## [[642]]
## NULL
##
## [[643]]
## NULL
##
## [[644]]
## NULL
##
## [[645]]
## NULL
##
## [[646]]
## NULL
##
## [[647]]
## NULL
##
## [[648]]
## NULL
##
## [[649]]
## NULL
##
## [[650]]
## NULL
##
## [[651]]
## NULL
##
## [[652]]
## NULL
##
## [[653]]
## NULL
##
## [[654]]
## NULL
##
## [[655]]
## NULL
##
## [[656]]
## NULL
##
## [[657]]
## NULL
##
## [[658]]
## NULL
##
## [[659]]
## NULL
##
## [[660]]
## NULL
##
## [[661]]
## NULL
##
## [[662]]
## NULL
##
## [[663]]
## NULL
##
## [[664]]
## NULL
##
## [[665]]
## NULL
##
## [[666]]
## NULL
##
## [[667]]
## NULL
##
## [[668]]
## NULL
##
## [[669]]
## NULL
##
## [[670]]
## NULL
##
## [[671]]
## NULL
##
## [[672]]
## NULL
##
## [[673]]
## NULL
##
## [[674]]
## NULL
##
## [[675]]
## NULL
##
## [[676]]
## NULL
##
## [[677]]
## NULL
##
## [[678]]
## NULL
##
## [[679]]
## NULL
##
## [[680]]
## NULL
##
## [[681]]
## NULL
##
## [[682]]
## NULL
##
## [[683]]
## NULL
##
## [[684]]
## NULL
##
## [[685]]
## NULL
##
## [[686]]
## NULL
##
## [[687]]
## NULL
##
## [[688]]
## NULL
##
## [[689]]
## NULL
##
## [[690]]
## NULL
##
## [[691]]
## NULL
##
## [[692]]
## NULL
##
## [[693]]
## NULL
##
## [[694]]
## NULL
##
## [[695]]
## NULL
##
## [[696]]
## NULL
##
## [[697]]
## NULL
##
## [[698]]
## NULL
##
## [[699]]
## NULL
##
## [[700]]
## NULL
##
## [[701]]
## NULL
##
## [[702]]
## NULL
##
## [[703]]
## NULL
##
## [[704]]
## NULL
##
## [[705]]
## NULL
##
## [[706]]
## NULL
##
## [[707]]
## NULL
##
## [[708]]
## NULL
##
## [[709]]
## NULL
##
## [[710]]
## NULL
##
## [[711]]
## NULL
##
## [[712]]
## NULL
##
## [[713]]
## NULL
##
## [[714]]
## NULL
##
## [[715]]
## NULL
##
## [[716]]
## NULL
##
## [[717]]
## NULL
##
## [[718]]
## NULL
##
## [[719]]
## NULL
##
## [[720]]
## NULL
##
## [[721]]
## NULL
##
## [[722]]
## NULL
##
## [[723]]
## NULL
##
## [[724]]
## NULL
##
## [[725]]
## NULL
##
## [[726]]
## NULL
##
## [[727]]
## NULL
##
## [[728]]
## NULL
##
## [[729]]
## NULL
##
## [[730]]
## NULL
##
## [[731]]
## NULL
##
## [[732]]
## NULL
##
## [[733]]
## NULL
##
## [[734]]
## NULL
##
## [[735]]
## NULL
##
## [[736]]
## NULL
##
## [[737]]
## NULL
##
## [[738]]
## NULL
##
## [[739]]
## NULL
##
## [[740]]
## NULL
##
## [[741]]
## NULL
##
## [[742]]
## NULL
##
## [[743]]
## NULL
##
## [[744]]
## NULL
##
## [[745]]
## NULL
##
## [[746]]
## NULL
##
## [[747]]
## NULL
##
## [[748]]
## NULL
##
## [[749]]
## NULL
##
## [[750]]
## NULL
##
## [[751]]
## NULL
##
## [[752]]
## NULL
##
## [[753]]
## NULL
##
## [[754]]
## NULL
##
## [[755]]
## NULL
##
## [[756]]
## NULL
##
## [[757]]
## NULL
##
## [[758]]
## NULL
##
## [[759]]
## NULL
##
## [[760]]
## NULL
##
## [[761]]
## NULL
##
## [[762]]
## NULL
##
## [[763]]
## NULL
##
## [[764]]
## NULL
##
## [[765]]
## NULL
##
## [[766]]
## NULL
##
## [[767]]
## NULL
##
## [[768]]
## NULL
##
## [[769]]
## NULL
##
## [[770]]
## NULL
##
## [[771]]
## NULL
##
## [[772]]
## NULL
##
## [[773]]
## NULL
##
## [[774]]
## NULL
##
## [[775]]
## NULL
##
## [[776]]
## NULL
lapply(HAT_mca_2023_2024_text_parts, write, "data/MatsonMattocksFieldLog-2016-2024/HAT_mca_2023_2024_text_parts.txt", append=TRUE)## [[1]]
## NULL
##
## [[2]]
## NULL
##
## [[3]]
## NULL
##
## [[4]]
## NULL
##
## [[5]]
## NULL
##
## [[6]]
## NULL
##
## [[7]]
## NULL
##
## [[8]]
## NULL
##
## [[9]]
## NULL
##
## [[10]]
## NULL
##
## [[11]]
## NULL
##
## [[12]]
## NULL
##
## [[13]]
## NULL
##
## [[14]]
## NULL
##
## [[15]]
## NULL
##
## [[16]]
## NULL
##
## [[17]]
## NULL
##
## [[18]]
## NULL
##
## [[19]]
## NULL
##
## [[20]]
## NULL
##
## [[21]]
## NULL
##
## [[22]]
## NULL
##
## [[23]]
## NULL
##
## [[24]]
## NULL
##
## [[25]]
## NULL
##
## [[26]]
## NULL
##
## [[27]]
## NULL
##
## [[28]]
## NULL
##
## [[29]]
## NULL
##
## [[30]]
## NULL
##
## [[31]]
## NULL
##
## [[32]]
## NULL
##
## [[33]]
## NULL
##
## [[34]]
## NULL
##
## [[35]]
## NULL
##
## [[36]]
## NULL
##
## [[37]]
## NULL
##
## [[38]]
## NULL
##
## [[39]]
## NULL
##
## [[40]]
## NULL
##
## [[41]]
## NULL
##
## [[42]]
## NULL
##
## [[43]]
## NULL
##
## [[44]]
## NULL
##
## [[45]]
## NULL
##
## [[46]]
## NULL
##
## [[47]]
## NULL
##
## [[48]]
## NULL
##
## [[49]]
## NULL
##
## [[50]]
## NULL
##
## [[51]]
## NULL
##
## [[52]]
## NULL
##
## [[53]]
## NULL
##
## [[54]]
## NULL
##
## [[55]]
## NULL
##
## [[56]]
## NULL
##
## [[57]]
## NULL
##
## [[58]]
## NULL
##
## [[59]]
## NULL
##
## [[60]]
## NULL
##
## [[61]]
## NULL
##
## [[62]]
## NULL
##
## [[63]]
## NULL
##
## [[64]]
## NULL
##
## [[65]]
## NULL
##
## [[66]]
## NULL
##
## [[67]]
## NULL
##
## [[68]]
## NULL
##
## [[69]]
## NULL
##
## [[70]]
## NULL
##
## [[71]]
## NULL
##
## [[72]]
## NULL
##
## [[73]]
## NULL
##
## [[74]]
## NULL
##
## [[75]]
## NULL
##
## [[76]]
## NULL
##
## [[77]]
## NULL
##
## [[78]]
## NULL
##
## [[79]]
## NULL
##
## [[80]]
## NULL
##
## [[81]]
## NULL
##
## [[82]]
## NULL
##
## [[83]]
## NULL
##
## [[84]]
## NULL
##
## [[85]]
## NULL
##
## [[86]]
## NULL
##
## [[87]]
## NULL
##
## [[88]]
## NULL
##
## [[89]]
## NULL
##
## [[90]]
## NULL
##
## [[91]]
## NULL
##
## [[92]]
## NULL
##
## [[93]]
## NULL
##
## [[94]]
## NULL
##
## [[95]]
## NULL
##
## [[96]]
## NULL
##
## [[97]]
## NULL
##
## [[98]]
## NULL
##
## [[99]]
## NULL
##
## [[100]]
## NULL
##
## [[101]]
## NULL
##
## [[102]]
## NULL
##
## [[103]]
## NULL
##
## [[104]]
## NULL
##
## [[105]]
## NULL
##
## [[106]]
## NULL
##
## [[107]]
## NULL
##
## [[108]]
## NULL
##
## [[109]]
## NULL
##
## [[110]]
## NULL
##
## [[111]]
## NULL
##
## [[112]]
## NULL
##
## [[113]]
## NULL
##
## [[114]]
## NULL
##
## [[115]]
## NULL
##
## [[116]]
## NULL
##
## [[117]]
## NULL
##
## [[118]]
## NULL
##
## [[119]]
## NULL
##
## [[120]]
## NULL
##
## [[121]]
## NULL
##
## [[122]]
## NULL
##
## [[123]]
## NULL
##
## [[124]]
## NULL
##
## [[125]]
## NULL
##
## [[126]]
## NULL
##
## [[127]]
## NULL
##
## [[128]]
## NULL
##
## [[129]]
## NULL
##
## [[130]]
## NULL
##
## [[131]]
## NULL
##
## [[132]]
## NULL
##
## [[133]]
## NULL
##
## [[134]]
## NULL
##
## [[135]]
## NULL
##
## [[136]]
## NULL
##
## [[137]]
## NULL
##
## [[138]]
## NULL
##
## [[139]]
## NULL
##
## [[140]]
## NULL
##
## [[141]]
## NULL
##
## [[142]]
## NULL
##
## [[143]]
## NULL
##
## [[144]]
## NULL
##
## [[145]]
## NULL
##
## [[146]]
## NULL
##
## [[147]]
## NULL
##
## [[148]]
## NULL
##
## [[149]]
## NULL
##
## [[150]]
## NULL
##
## [[151]]
## NULL
##
## [[152]]
## NULL
##
## [[153]]
## NULL
##
## [[154]]
## NULL
##
## [[155]]
## NULL
##
## [[156]]
## NULL
##
## [[157]]
## NULL
##
## [[158]]
## NULL
##
## [[159]]
## NULL
##
## [[160]]
## NULL
##
## [[161]]
## NULL
##
## [[162]]
## NULL
##
## [[163]]
## NULL
##
## [[164]]
## NULL
##
## [[165]]
## NULL
##
## [[166]]
## NULL
##
## [[167]]
## NULL
##
## [[168]]
## NULL
##
## [[169]]
## NULL
##
## [[170]]
## NULL
##
## [[171]]
## NULL
##
## [[172]]
## NULL
##
## [[173]]
## NULL
##
## [[174]]
## NULL
##
## [[175]]
## NULL
##
## [[176]]
## NULL
##
## [[177]]
## NULL
##
## [[178]]
## NULL
##
## [[179]]
## NULL
##
## [[180]]
## NULL
##
## [[181]]
## NULL
##
## [[182]]
## NULL
##
## [[183]]
## NULL
##
## [[184]]
## NULL
##
## [[185]]
## NULL
##
## [[186]]
## NULL
##
## [[187]]
## NULL
##
## [[188]]
## NULL
##
## [[189]]
## NULL
##
## [[190]]
## NULL
##
## [[191]]
## NULL
##
## [[192]]
## NULL
##
## [[193]]
## NULL
##
## [[194]]
## NULL
##
## [[195]]
## NULL
##
## [[196]]
## NULL
##
## [[197]]
## NULL
##
## [[198]]
## NULL
##
## [[199]]
## NULL
##
## [[200]]
## NULL
##
## [[201]]
## NULL
##
## [[202]]
## NULL
##
## [[203]]
## NULL
##
## [[204]]
## NULL
##
## [[205]]
## NULL
##
## [[206]]
## NULL
##
## [[207]]
## NULL
##
## [[208]]
## NULL
##
## [[209]]
## NULL
##
## [[210]]
## NULL
##
## [[211]]
## NULL
##
## [[212]]
## NULL
##
## [[213]]
## NULL
##
## [[214]]
## NULL
##
## [[215]]
## NULL
##
## [[216]]
## NULL
##
## [[217]]
## NULL
##
## [[218]]
## NULL
##
## [[219]]
## NULL
##
## [[220]]
## NULL
##
## [[221]]
## NULL
##
## [[222]]
## NULL
##
## [[223]]
## NULL
##
## [[224]]
## NULL
##
## [[225]]
## NULL
##
## [[226]]
## NULL
##
## [[227]]
## NULL
##
## [[228]]
## NULL
##
## [[229]]
## NULL
##
## [[230]]
## NULL
##
## [[231]]
## NULL
##
## [[232]]
## NULL
##
## [[233]]
## NULL
##
## [[234]]
## NULL
##
## [[235]]
## NULL
##
## [[236]]
## NULL
##
## [[237]]
## NULL
##
## [[238]]
## NULL
##
## [[239]]
## NULL
##
## [[240]]
## NULL
##
## [[241]]
## NULL
##
## [[242]]
## NULL
##
## [[243]]
## NULL
##
## [[244]]
## NULL
##
## [[245]]
## NULL
##
## [[246]]
## NULL
##
## [[247]]
## NULL
##
## [[248]]
## NULL
##
## [[249]]
## NULL
##
## [[250]]
## NULL
##
## [[251]]
## NULL
##
## [[252]]
## NULL
##
## [[253]]
## NULL
##
## [[254]]
## NULL
##
## [[255]]
## NULL
##
## [[256]]
## NULL
##
## [[257]]
## NULL
##
## [[258]]
## NULL
##
## [[259]]
## NULL
##
## [[260]]
## NULL
##
## [[261]]
## NULL
##
## [[262]]
## NULL
##
## [[263]]
## NULL
##
## [[264]]
## NULL
##
## [[265]]
## NULL
##
## [[266]]
## NULL
##
## [[267]]
## NULL
##
## [[268]]
## NULL
##
## [[269]]
## NULL
##
## [[270]]
## NULL
##
## [[271]]
## NULL
##
## [[272]]
## NULL
##
## [[273]]
## NULL
##
## [[274]]
## NULL
##
## [[275]]
## NULL
##
## [[276]]
## NULL
##
## [[277]]
## NULL
##
## [[278]]
## NULL
##
## [[279]]
## NULL
##
## [[280]]
## NULL
##
## [[281]]
## NULL
##
## [[282]]
## NULL
##
## [[283]]
## NULL
##
## [[284]]
## NULL
##
## [[285]]
## NULL
##
## [[286]]
## NULL
##
## [[287]]
## NULL
##
## [[288]]
## NULL
##
## [[289]]
## NULL
##
## [[290]]
## NULL
##
## [[291]]
## NULL
##
## [[292]]
## NULL
##
## [[293]]
## NULL
##
## [[294]]
## NULL
##
## [[295]]
## NULL
##
## [[296]]
## NULL
##
## [[297]]
## NULL
##
## [[298]]
## NULL
##
## [[299]]
## NULL
##
## [[300]]
## NULL
##
## [[301]]
## NULL
##
## [[302]]
## NULL
##
## [[303]]
## NULL
##
## [[304]]
## NULL
##
## [[305]]
## NULL
##
## [[306]]
## NULL
##
## [[307]]
## NULL
##
## [[308]]
## NULL
##
## [[309]]
## NULL
##
## [[310]]
## NULL
##
## [[311]]
## NULL
##
## [[312]]
## NULL
##
## [[313]]
## NULL
##
## [[314]]
## NULL
##
## [[315]]
## NULL
##
## [[316]]
## NULL
##
## [[317]]
## NULL
##
## [[318]]
## NULL
##
## [[319]]
## NULL
##
## [[320]]
## NULL
##
## [[321]]
## NULL
##
## [[322]]
## NULL
##
## [[323]]
## NULL
##
## [[324]]
## NULL
##
## [[325]]
## NULL
##
## [[326]]
## NULL
##
## [[327]]
## NULL
##
## [[328]]
## NULL
##
## [[329]]
## NULL
##
## [[330]]
## NULL
##
## [[331]]
## NULL
##
## [[332]]
## NULL
##
## [[333]]
## NULL
##
## [[334]]
## NULL
##
## [[335]]
## NULL
##
## [[336]]
## NULL
##
## [[337]]
## NULL
##
## [[338]]
## NULL
##
## [[339]]
## NULL
##
## [[340]]
## NULL
##
## [[341]]
## NULL
##
## [[342]]
## NULL
##
## [[343]]
## NULL
##
## [[344]]
## NULL
##
## [[345]]
## NULL
##
## [[346]]
## NULL
##
## [[347]]
## NULL
##
## [[348]]
## NULL
##
## [[349]]
## NULL
##
## [[350]]
## NULL
##
## [[351]]
## NULL
##
## [[352]]
## NULL
##
## [[353]]
## NULL
##
## [[354]]
## NULL
##
## [[355]]
## NULL
##
## [[356]]
## NULL
##
## [[357]]
## NULL
##
## [[358]]
## NULL
##
## [[359]]
## NULL
##
## [[360]]
## NULL
##
## [[361]]
## NULL
##
## [[362]]
## NULL
##
## [[363]]
## NULL
##
## [[364]]
## NULL
##
## [[365]]
## NULL
##
## [[366]]
## NULL
##
## [[367]]
## NULL
##
## [[368]]
## NULL
##
## [[369]]
## NULL
##
## [[370]]
## NULL
##
## [[371]]
## NULL
##
## [[372]]
## NULL
##
## [[373]]
## NULL
##
## [[374]]
## NULL
##
## [[375]]
## NULL
##
## [[376]]
## NULL
##
## [[377]]
## NULL
##
## [[378]]
## NULL
##
## [[379]]
## NULL
##
## [[380]]
## NULL
##
## [[381]]
## NULL
##
## [[382]]
## NULL
##
## [[383]]
## NULL
##
## [[384]]
## NULL
##
## [[385]]
## NULL
##
## [[386]]
## NULL
##
## [[387]]
## NULL
##
## [[388]]
## NULL
##
## [[389]]
## NULL
##
## [[390]]
## NULL
##
## [[391]]
## NULL
##
## [[392]]
## NULL
##
## [[393]]
## NULL
##
## [[394]]
## NULL
##
## [[395]]
## NULL
##
## [[396]]
## NULL
##
## [[397]]
## NULL
##
## [[398]]
## NULL
##
## [[399]]
## NULL
##
## [[400]]
## NULL
##
## [[401]]
## NULL
##
## [[402]]
## NULL
##
## [[403]]
## NULL
##
## [[404]]
## NULL
##
## [[405]]
## NULL
##
## [[406]]
## NULL
##
## [[407]]
## NULL
##
## [[408]]
## NULL
##
## [[409]]
## NULL
##
## [[410]]
## NULL
##
## [[411]]
## NULL
##
## [[412]]
## NULL
##
## [[413]]
## NULL
##
## [[414]]
## NULL
##
## [[415]]
## NULL
##
## [[416]]
## NULL
##
## [[417]]
## NULL
##
## [[418]]
## NULL
##
## [[419]]
## NULL
##
## [[420]]
## NULL
##
## [[421]]
## NULL
##
## [[422]]
## NULL
##
## [[423]]
## NULL
##
## [[424]]
## NULL
##
## [[425]]
## NULL
##
## [[426]]
## NULL
##
## [[427]]
## NULL
##
## [[428]]
## NULL
##
## [[429]]
## NULL
##
## [[430]]
## NULL
##
## [[431]]
## NULL
##
## [[432]]
## NULL
##
## [[433]]
## NULL
##
## [[434]]
## NULL
##
## [[435]]
## NULL
##
## [[436]]
## NULL
##
## [[437]]
## NULL
##
## [[438]]
## NULL
##
## [[439]]
## NULL
##
## [[440]]
## NULL
##
## [[441]]
## NULL
##
## [[442]]
## NULL
##
## [[443]]
## NULL
##
## [[444]]
## NULL
##
## [[445]]
## NULL
##
## [[446]]
## NULL
##
## [[447]]
## NULL
##
## [[448]]
## NULL
##
## [[449]]
## NULL
##
## [[450]]
## NULL
##
## [[451]]
## NULL
##
## [[452]]
## NULL
##
## [[453]]
## NULL
##
## [[454]]
## NULL
##
## [[455]]
## NULL
##
## [[456]]
## NULL
##
## [[457]]
## NULL
##
## [[458]]
## NULL
##
## [[459]]
## NULL
##
## [[460]]
## NULL
##
## [[461]]
## NULL
##
## [[462]]
## NULL
##
## [[463]]
## NULL
##
## [[464]]
## NULL
##
## [[465]]
## NULL
##
## [[466]]
## NULL
##
## [[467]]
## NULL
##
## [[468]]
## NULL
##
## [[469]]
## NULL
##
## [[470]]
## NULL
##
## [[471]]
## NULL
##
## [[472]]
## NULL
##
## [[473]]
## NULL
##
## [[474]]
## NULL
##
## [[475]]
## NULL
##
## [[476]]
## NULL
##
## [[477]]
## NULL
##
## [[478]]
## NULL
##
## [[479]]
## NULL
##
## [[480]]
## NULL
##
## [[481]]
## NULL
##
## [[482]]
## NULL
##
## [[483]]
## NULL
##
## [[484]]
## NULL
##
## [[485]]
## NULL
##
## [[486]]
## NULL
##
## [[487]]
## NULL
##
## [[488]]
## NULL
##
## [[489]]
## NULL
##
## [[490]]
## NULL
##
## [[491]]
## NULL
##
## [[492]]
## NULL
##
## [[493]]
## NULL
##
## [[494]]
## NULL
##
## [[495]]
## NULL
##
## [[496]]
## NULL
##
## [[497]]
## NULL
##
## [[498]]
## NULL
##
## [[499]]
## NULL
##
## [[500]]
## NULL
##
## [[501]]
## NULL
##
## [[502]]
## NULL
##
## [[503]]
## NULL
##
## [[504]]
## NULL
##
## [[505]]
## NULL
##
## [[506]]
## NULL
##
## [[507]]
## NULL
##
## [[508]]
## NULL
##
## [[509]]
## NULL
##
## [[510]]
## NULL
##
## [[511]]
## NULL
##
## [[512]]
## NULL
##
## [[513]]
## NULL
##
## [[514]]
## NULL
##
## [[515]]
## NULL
##
## [[516]]
## NULL
##
## [[517]]
## NULL
##
## [[518]]
## NULL
##
## [[519]]
## NULL
##
## [[520]]
## NULL
##
## [[521]]
## NULL
##
## [[522]]
## NULL
##
## [[523]]
## NULL
##
## [[524]]
## NULL
##
## [[525]]
## NULL
##
## [[526]]
## NULL
##
## [[527]]
## NULL
##
## [[528]]
## NULL
##
## [[529]]
## NULL
##
## [[530]]
## NULL
##
## [[531]]
## NULL
##
## [[532]]
## NULL
##
## [[533]]
## NULL
##
## [[534]]
## NULL
##
## [[535]]
## NULL
##
## [[536]]
## NULL
##
## [[537]]
## NULL
##
## [[538]]
## NULL
##
## [[539]]
## NULL
##
## [[540]]
## NULL
##
## [[541]]
## NULL
##
## [[542]]
## NULL
##
## [[543]]
## NULL
##
## [[544]]
## NULL
##
## [[545]]
## NULL
##
## [[546]]
## NULL
##
## [[547]]
## NULL
##
## [[548]]
## NULL
##
## [[549]]
## NULL
##
## [[550]]
## NULL
##
## [[551]]
## NULL
##
## [[552]]
## NULL
##
## [[553]]
## NULL
##
## [[554]]
## NULL
##
## [[555]]
## NULL
##
## [[556]]
## NULL
##
## [[557]]
## NULL
##
## [[558]]
## NULL
##
## [[559]]
## NULL
##
## [[560]]
## NULL
##
## [[561]]
## NULL
##
## [[562]]
## NULL
##
## [[563]]
## NULL
##
## [[564]]
## NULL
##
## [[565]]
## NULL
##
## [[566]]
## NULL
##
## [[567]]
## NULL
##
## [[568]]
## NULL
##
## [[569]]
## NULL
##
## [[570]]
## NULL
##
## [[571]]
## NULL
##
## [[572]]
## NULL
##
## [[573]]
## NULL
##
## [[574]]
## NULL
##
## [[575]]
## NULL
##
## [[576]]
## NULL
##
## [[577]]
## NULL
##
## [[578]]
## NULL
##
## [[579]]
## NULL
##
## [[580]]
## NULL
##
## [[581]]
## NULL
##
## [[582]]
## NULL
##
## [[583]]
## NULL
##
## [[584]]
## NULL
##
## [[585]]
## NULL
##
## [[586]]
## NULL
##
## [[587]]
## NULL
##
## [[588]]
## NULL
##
## [[589]]
## NULL
##
## [[590]]
## NULL
##
## [[591]]
## NULL
##
## [[592]]
## NULL
##
## [[593]]
## NULL
##
## [[594]]
## NULL
##
## [[595]]
## NULL
##
## [[596]]
## NULL
##
## [[597]]
## NULL
##
## [[598]]
## NULL
##
## [[599]]
## NULL
##
## [[600]]
## NULL
##
## [[601]]
## NULL
##
## [[602]]
## NULL
##
## [[603]]
## NULL
##
## [[604]]
## NULL
##
## [[605]]
## NULL
##
## [[606]]
## NULL
##
## [[607]]
## NULL
##
## [[608]]
## NULL
##
## [[609]]
## NULL
##
## [[610]]
## NULL
##
## [[611]]
## NULL
##
## [[612]]
## NULL
##
## [[613]]
## NULL
##
## [[614]]
## NULL
##
## [[615]]
## NULL
##
## [[616]]
## NULL
##
## [[617]]
## NULL
##
## [[618]]
## NULL
##
## [[619]]
## NULL
##
## [[620]]
## NULL
##
## [[621]]
## NULL
##
## [[622]]
## NULL
##
## [[623]]
## NULL
##
## [[624]]
## NULL
##
## [[625]]
## NULL
##
## [[626]]
## NULL
##
## [[627]]
## NULL
##
## [[628]]
## NULL
##
## [[629]]
## NULL
##
## [[630]]
## NULL
##
## [[631]]
## NULL
##
## [[632]]
## NULL
##
## [[633]]
## NULL
##
## [[634]]
## NULL
##
## [[635]]
## NULL
##
## [[636]]
## NULL
##
## [[637]]
## NULL
##
## [[638]]
## NULL
##
## [[639]]
## NULL
##
## [[640]]
## NULL
##
## [[641]]
## NULL
##
## [[642]]
## NULL
##
## [[643]]
## NULL
##
## [[644]]
## NULL
##
## [[645]]
## NULL
##
## [[646]]
## NULL
##
## [[647]]
## NULL
##
## [[648]]
## NULL
##
## [[649]]
## NULL
##
## [[650]]
## NULL
##
## [[651]]
## NULL
##
## [[652]]
## NULL
##
## [[653]]
## NULL
##
## [[654]]
## NULL
##
## [[655]]
## NULL
##
## [[656]]
## NULL
##
## [[657]]
## NULL
##
## [[658]]
## NULL
##
## [[659]]
## NULL
##
## [[660]]
## NULL
##
## [[661]]
## NULL
##
## [[662]]
## NULL
##
## [[663]]
## NULL
##
## [[664]]
## NULL
##
## [[665]]
## NULL
##
## [[666]]
## NULL
##
## [[667]]
## NULL
##
## [[668]]
## NULL
##
## [[669]]
## NULL
##
## [[670]]
## NULL
##
## [[671]]
## NULL
##
## [[672]]
## NULL
##
## [[673]]
## NULL
##
## [[674]]
## NULL
##
## [[675]]
## NULL
##
## [[676]]
## NULL
##
## [[677]]
## NULL
##
## [[678]]
## NULL
##
## [[679]]
## NULL
##
## [[680]]
## NULL
##
## [[681]]
## NULL
##
## [[682]]
## NULL
##
## [[683]]
## NULL
##
## [[684]]
## NULL
##
## [[685]]
## NULL
##
## [[686]]
## NULL
##
## [[687]]
## NULL
##
## [[688]]
## NULL
##
## [[689]]
## NULL
##
## [[690]]
## NULL
##
## [[691]]
## NULL
##
## [[692]]
## NULL
##
## [[693]]
## NULL
##
## [[694]]
## NULL
##
## [[695]]
## NULL
##
## [[696]]
## NULL
##
## [[697]]
## NULL
##
## [[698]]
## NULL
##
## [[699]]
## NULL
##
## [[700]]
## NULL
##
## [[701]]
## NULL
##
## [[702]]
## NULL
##
## [[703]]
## NULL
##
## [[704]]
## NULL
##
## [[705]]
## NULL
##
## [[706]]
## NULL
##
## [[707]]
## NULL
##
## [[708]]
## NULL
##
## [[709]]
## NULL
##
## [[710]]
## NULL
##
## [[711]]
## NULL
##
## [[712]]
## NULL
##
## [[713]]
## NULL
##
## [[714]]
## NULL
##
## [[715]]
## NULL
##
## [[716]]
## NULL
##
## [[717]]
## NULL
##
## [[718]]
## NULL
##
## [[719]]
## NULL
##
## [[720]]
## NULL
##
## [[721]]
## NULL
##
## [[722]]
## NULL
##
## [[723]]
## NULL
##
## [[724]]
## NULL
##
## [[725]]
## NULL
##
## [[726]]
## NULL
##
## [[727]]
## NULL
##
## [[728]]
## NULL
##
## [[729]]
## NULL
##
## [[730]]
## NULL
##
## [[731]]
## NULL
##
## [[732]]
## NULL
##
## [[733]]
## NULL
##
## [[734]]
## NULL
##
## [[735]]
## NULL
##
## [[736]]
## NULL
##
## [[737]]
## NULL
##
## [[738]]
## NULL
##
## [[739]]
## NULL
##
## [[740]]
## NULL
##
## [[741]]
## NULL
##
## [[742]]
## NULL
##
## [[743]]
## NULL
##
## [[744]]
## NULL
##
## [[745]]
## NULL
##
## [[746]]
## NULL
##
## [[747]]
## NULL
##
## [[748]]
## NULL
##
## [[749]]
## NULL
##
## [[750]]
## NULL
##
## [[751]]
## NULL
##
## [[752]]
## NULL
##
## [[753]]
## NULL
##
## [[754]]
## NULL
##
## [[755]]
## NULL
##
## [[756]]
## NULL
##
## [[757]]
## NULL
##
## [[758]]
## NULL
##
## [[759]]
## NULL
##
## [[760]]
## NULL
##
## [[761]]
## NULL
##
## [[762]]
## NULL
##
## [[763]]
## NULL
##
## [[764]]
## NULL
##
## [[765]]
## NULL
##
## [[766]]
## NULL
##
## [[767]]
## NULL
##
## [[768]]
## NULL
##
## [[769]]
## NULL
##
## [[770]]
## NULL
##
## [[771]]
## NULL
##
## [[772]]
## NULL
##
## [[773]]
## NULL
##
## [[774]]
## NULL
##
## [[775]]
## NULL
##
## [[776]]
## NULL
lapply(HAT_mca_2022_2023_text_parts, write, "data/MatsonMattocksFieldLog-2016-2024/HAT_mca_2022_2023_text_parts.txt", append=TRUE)## [[1]]
## NULL
##
## [[2]]
## NULL
##
## [[3]]
## NULL
##
## [[4]]
## NULL
##
## [[5]]
## NULL
##
## [[6]]
## NULL
##
## [[7]]
## NULL
##
## [[8]]
## NULL
##
## [[9]]
## NULL
##
## [[10]]
## NULL
##
## [[11]]
## NULL
##
## [[12]]
## NULL
##
## [[13]]
## NULL
##
## [[14]]
## NULL
##
## [[15]]
## NULL
##
## [[16]]
## NULL
##
## [[17]]
## NULL
##
## [[18]]
## NULL
##
## [[19]]
## NULL
##
## [[20]]
## NULL
##
## [[21]]
## NULL
##
## [[22]]
## NULL
##
## [[23]]
## NULL
##
## [[24]]
## NULL
##
## [[25]]
## NULL
##
## [[26]]
## NULL
##
## [[27]]
## NULL
##
## [[28]]
## NULL
##
## [[29]]
## NULL
##
## [[30]]
## NULL
##
## [[31]]
## NULL
##
## [[32]]
## NULL
##
## [[33]]
## NULL
##
## [[34]]
## NULL
##
## [[35]]
## NULL
##
## [[36]]
## NULL
##
## [[37]]
## NULL
##
## [[38]]
## NULL
##
## [[39]]
## NULL
##
## [[40]]
## NULL
##
## [[41]]
## NULL
##
## [[42]]
## NULL
##
## [[43]]
## NULL
##
## [[44]]
## NULL
##
## [[45]]
## NULL
##
## [[46]]
## NULL
##
## [[47]]
## NULL
##
## [[48]]
## NULL
##
## [[49]]
## NULL
##
## [[50]]
## NULL
##
## [[51]]
## NULL
##
## [[52]]
## NULL
##
## [[53]]
## NULL
##
## [[54]]
## NULL
##
## [[55]]
## NULL
##
## [[56]]
## NULL
##
## [[57]]
## NULL
##
## [[58]]
## NULL
##
## [[59]]
## NULL
##
## [[60]]
## NULL
##
## [[61]]
## NULL
##
## [[62]]
## NULL
##
## [[63]]
## NULL
##
## [[64]]
## NULL
##
## [[65]]
## NULL
##
## [[66]]
## NULL
##
## [[67]]
## NULL
##
## [[68]]
## NULL
##
## [[69]]
## NULL
##
## [[70]]
## NULL
##
## [[71]]
## NULL
##
## [[72]]
## NULL
##
## [[73]]
## NULL
##
## [[74]]
## NULL
##
## [[75]]
## NULL
##
## [[76]]
## NULL
##
## [[77]]
## NULL
##
## [[78]]
## NULL
##
## [[79]]
## NULL
##
## [[80]]
## NULL
##
## [[81]]
## NULL
##
## [[82]]
## NULL
##
## [[83]]
## NULL
##
## [[84]]
## NULL
##
## [[85]]
## NULL
##
## [[86]]
## NULL
##
## [[87]]
## NULL
##
## [[88]]
## NULL
##
## [[89]]
## NULL
##
## [[90]]
## NULL
##
## [[91]]
## NULL
##
## [[92]]
## NULL
##
## [[93]]
## NULL
##
## [[94]]
## NULL
##
## [[95]]
## NULL
##
## [[96]]
## NULL
##
## [[97]]
## NULL
##
## [[98]]
## NULL
##
## [[99]]
## NULL
##
## [[100]]
## NULL
##
## [[101]]
## NULL
##
## [[102]]
## NULL
##
## [[103]]
## NULL
##
## [[104]]
## NULL
##
## [[105]]
## NULL
##
## [[106]]
## NULL
##
## [[107]]
## NULL
##
## [[108]]
## NULL
##
## [[109]]
## NULL
##
## [[110]]
## NULL
##
## [[111]]
## NULL
##
## [[112]]
## NULL
##
## [[113]]
## NULL
##
## [[114]]
## NULL
##
## [[115]]
## NULL
##
## [[116]]
## NULL
##
## [[117]]
## NULL
##
## [[118]]
## NULL
##
## [[119]]
## NULL
##
## [[120]]
## NULL
##
## [[121]]
## NULL
##
## [[122]]
## NULL
##
## [[123]]
## NULL
##
## [[124]]
## NULL
##
## [[125]]
## NULL
##
## [[126]]
## NULL
##
## [[127]]
## NULL
##
## [[128]]
## NULL
##
## [[129]]
## NULL
##
## [[130]]
## NULL
##
## [[131]]
## NULL
##
## [[132]]
## NULL
##
## [[133]]
## NULL
##
## [[134]]
## NULL
##
## [[135]]
## NULL
##
## [[136]]
## NULL
##
## [[137]]
## NULL
##
## [[138]]
## NULL
##
## [[139]]
## NULL
##
## [[140]]
## NULL
##
## [[141]]
## NULL
##
## [[142]]
## NULL
##
## [[143]]
## NULL
##
## [[144]]
## NULL
##
## [[145]]
## NULL
##
## [[146]]
## NULL
##
## [[147]]
## NULL
##
## [[148]]
## NULL
##
## [[149]]
## NULL
##
## [[150]]
## NULL
##
## [[151]]
## NULL
##
## [[152]]
## NULL
##
## [[153]]
## NULL
##
## [[154]]
## NULL
##
## [[155]]
## NULL
##
## [[156]]
## NULL
##
## [[157]]
## NULL
##
## [[158]]
## NULL
##
## [[159]]
## NULL
##
## [[160]]
## NULL
##
## [[161]]
## NULL
##
## [[162]]
## NULL
##
## [[163]]
## NULL
##
## [[164]]
## NULL
##
## [[165]]
## NULL
##
## [[166]]
## NULL
##
## [[167]]
## NULL
##
## [[168]]
## NULL
##
## [[169]]
## NULL
##
## [[170]]
## NULL
##
## [[171]]
## NULL
##
## [[172]]
## NULL
##
## [[173]]
## NULL
##
## [[174]]
## NULL
##
## [[175]]
## NULL
##
## [[176]]
## NULL
##
## [[177]]
## NULL
##
## [[178]]
## NULL
##
## [[179]]
## NULL
##
## [[180]]
## NULL
##
## [[181]]
## NULL
##
## [[182]]
## NULL
##
## [[183]]
## NULL
##
## [[184]]
## NULL
##
## [[185]]
## NULL
##
## [[186]]
## NULL
##
## [[187]]
## NULL
##
## [[188]]
## NULL
##
## [[189]]
## NULL
##
## [[190]]
## NULL
##
## [[191]]
## NULL
##
## [[192]]
## NULL
##
## [[193]]
## NULL
##
## [[194]]
## NULL
##
## [[195]]
## NULL
##
## [[196]]
## NULL
##
## [[197]]
## NULL
##
## [[198]]
## NULL
##
## [[199]]
## NULL
##
## [[200]]
## NULL
##
## [[201]]
## NULL
##
## [[202]]
## NULL
##
## [[203]]
## NULL
##
## [[204]]
## NULL
##
## [[205]]
## NULL
##
## [[206]]
## NULL
##
## [[207]]
## NULL
##
## [[208]]
## NULL
##
## [[209]]
## NULL
##
## [[210]]
## NULL
##
## [[211]]
## NULL
##
## [[212]]
## NULL
##
## [[213]]
## NULL
##
## [[214]]
## NULL
##
## [[215]]
## NULL
##
## [[216]]
## NULL
##
## [[217]]
## NULL
##
## [[218]]
## NULL
##
## [[219]]
## NULL
##
## [[220]]
## NULL
##
## [[221]]
## NULL
##
## [[222]]
## NULL
##
## [[223]]
## NULL
##
## [[224]]
## NULL
##
## [[225]]
## NULL
##
## [[226]]
## NULL
##
## [[227]]
## NULL
##
## [[228]]
## NULL
##
## [[229]]
## NULL
##
## [[230]]
## NULL
##
## [[231]]
## NULL
##
## [[232]]
## NULL
##
## [[233]]
## NULL
##
## [[234]]
## NULL
##
## [[235]]
## NULL
##
## [[236]]
## NULL
##
## [[237]]
## NULL
##
## [[238]]
## NULL
##
## [[239]]
## NULL
##
## [[240]]
## NULL
##
## [[241]]
## NULL
##
## [[242]]
## NULL
##
## [[243]]
## NULL
##
## [[244]]
## NULL
##
## [[245]]
## NULL
##
## [[246]]
## NULL
##
## [[247]]
## NULL
##
## [[248]]
## NULL
##
## [[249]]
## NULL
##
## [[250]]
## NULL
##
## [[251]]
## NULL
##
## [[252]]
## NULL
##
## [[253]]
## NULL
##
## [[254]]
## NULL
##
## [[255]]
## NULL
##
## [[256]]
## NULL
##
## [[257]]
## NULL
##
## [[258]]
## NULL
##
## [[259]]
## NULL
##
## [[260]]
## NULL
##
## [[261]]
## NULL
##
## [[262]]
## NULL
##
## [[263]]
## NULL
##
## [[264]]
## NULL
##
## [[265]]
## NULL
##
## [[266]]
## NULL
##
## [[267]]
## NULL
##
## [[268]]
## NULL
##
## [[269]]
## NULL
##
## [[270]]
## NULL
##
## [[271]]
## NULL
##
## [[272]]
## NULL
##
## [[273]]
## NULL
##
## [[274]]
## NULL
##
## [[275]]
## NULL
##
## [[276]]
## NULL
##
## [[277]]
## NULL
##
## [[278]]
## NULL
##
## [[279]]
## NULL
##
## [[280]]
## NULL
##
## [[281]]
## NULL
##
## [[282]]
## NULL
##
## [[283]]
## NULL
##
## [[284]]
## NULL
##
## [[285]]
## NULL
##
## [[286]]
## NULL
##
## [[287]]
## NULL
##
## [[288]]
## NULL
##
## [[289]]
## NULL
##
## [[290]]
## NULL
##
## [[291]]
## NULL
##
## [[292]]
## NULL
##
## [[293]]
## NULL
##
## [[294]]
## NULL
##
## [[295]]
## NULL
##
## [[296]]
## NULL
##
## [[297]]
## NULL
##
## [[298]]
## NULL
##
## [[299]]
## NULL
##
## [[300]]
## NULL
##
## [[301]]
## NULL
##
## [[302]]
## NULL
##
## [[303]]
## NULL
##
## [[304]]
## NULL
##
## [[305]]
## NULL
##
## [[306]]
## NULL
##
## [[307]]
## NULL
##
## [[308]]
## NULL
##
## [[309]]
## NULL
##
## [[310]]
## NULL
##
## [[311]]
## NULL
##
## [[312]]
## NULL
##
## [[313]]
## NULL
##
## [[314]]
## NULL
##
## [[315]]
## NULL
##
## [[316]]
## NULL
##
## [[317]]
## NULL
##
## [[318]]
## NULL
##
## [[319]]
## NULL
##
## [[320]]
## NULL
##
## [[321]]
## NULL
##
## [[322]]
## NULL
##
## [[323]]
## NULL
##
## [[324]]
## NULL
##
## [[325]]
## NULL
##
## [[326]]
## NULL
##
## [[327]]
## NULL
##
## [[328]]
## NULL
##
## [[329]]
## NULL
##
## [[330]]
## NULL
##
## [[331]]
## NULL
##
## [[332]]
## NULL
##
## [[333]]
## NULL
##
## [[334]]
## NULL
##
## [[335]]
## NULL
##
## [[336]]
## NULL
##
## [[337]]
## NULL
##
## [[338]]
## NULL
##
## [[339]]
## NULL
##
## [[340]]
## NULL
##
## [[341]]
## NULL
##
## [[342]]
## NULL
##
## [[343]]
## NULL
##
## [[344]]
## NULL
##
## [[345]]
## NULL
##
## [[346]]
## NULL
##
## [[347]]
## NULL
##
## [[348]]
## NULL
##
## [[349]]
## NULL
##
## [[350]]
## NULL
##
## [[351]]
## NULL
##
## [[352]]
## NULL
##
## [[353]]
## NULL
##
## [[354]]
## NULL
##
## [[355]]
## NULL
##
## [[356]]
## NULL
##
## [[357]]
## NULL
##
## [[358]]
## NULL
##
## [[359]]
## NULL
##
## [[360]]
## NULL
##
## [[361]]
## NULL
##
## [[362]]
## NULL
##
## [[363]]
## NULL
##
## [[364]]
## NULL
##
## [[365]]
## NULL
##
## [[366]]
## NULL
##
## [[367]]
## NULL
##
## [[368]]
## NULL
##
## [[369]]
## NULL
##
## [[370]]
## NULL
##
## [[371]]
## NULL
##
## [[372]]
## NULL
##
## [[373]]
## NULL
##
## [[374]]
## NULL
##
## [[375]]
## NULL
##
## [[376]]
## NULL
##
## [[377]]
## NULL
##
## [[378]]
## NULL
##
## [[379]]
## NULL
##
## [[380]]
## NULL
##
## [[381]]
## NULL
##
## [[382]]
## NULL
##
## [[383]]
## NULL
##
## [[384]]
## NULL
##
## [[385]]
## NULL
##
## [[386]]
## NULL
##
## [[387]]
## NULL
##
## [[388]]
## NULL
##
## [[389]]
## NULL
##
## [[390]]
## NULL
##
## [[391]]
## NULL
##
## [[392]]
## NULL
##
## [[393]]
## NULL
##
## [[394]]
## NULL
##
## [[395]]
## NULL
##
## [[396]]
## NULL
##
## [[397]]
## NULL
##
## [[398]]
## NULL
##
## [[399]]
## NULL
##
## [[400]]
## NULL
##
## [[401]]
## NULL
##
## [[402]]
## NULL
##
## [[403]]
## NULL
##
## [[404]]
## NULL
##
## [[405]]
## NULL
##
## [[406]]
## NULL
##
## [[407]]
## NULL
##
## [[408]]
## NULL
##
## [[409]]
## NULL
##
## [[410]]
## NULL
##
## [[411]]
## NULL
##
## [[412]]
## NULL
##
## [[413]]
## NULL
##
## [[414]]
## NULL
##
## [[415]]
## NULL
##
## [[416]]
## NULL
##
## [[417]]
## NULL
##
## [[418]]
## NULL
##
## [[419]]
## NULL
##
## [[420]]
## NULL
##
## [[421]]
## NULL
##
## [[422]]
## NULL
##
## [[423]]
## NULL
##
## [[424]]
## NULL
##
## [[425]]
## NULL
##
## [[426]]
## NULL
##
## [[427]]
## NULL
##
## [[428]]
## NULL
##
## [[429]]
## NULL
##
## [[430]]
## NULL
##
## [[431]]
## NULL
##
## [[432]]
## NULL
##
## [[433]]
## NULL
##
## [[434]]
## NULL
##
## [[435]]
## NULL
##
## [[436]]
## NULL
##
## [[437]]
## NULL
##
## [[438]]
## NULL
##
## [[439]]
## NULL
##
## [[440]]
## NULL
##
## [[441]]
## NULL
##
## [[442]]
## NULL
##
## [[443]]
## NULL
##
## [[444]]
## NULL
##
## [[445]]
## NULL
##
## [[446]]
## NULL
##
## [[447]]
## NULL
##
## [[448]]
## NULL
##
## [[449]]
## NULL
##
## [[450]]
## NULL
##
## [[451]]
## NULL
##
## [[452]]
## NULL
##
## [[453]]
## NULL
##
## [[454]]
## NULL
##
## [[455]]
## NULL
##
## [[456]]
## NULL
##
## [[457]]
## NULL
##
## [[458]]
## NULL
##
## [[459]]
## NULL
##
## [[460]]
## NULL
##
## [[461]]
## NULL
##
## [[462]]
## NULL
##
## [[463]]
## NULL
##
## [[464]]
## NULL
##
## [[465]]
## NULL
##
## [[466]]
## NULL
##
## [[467]]
## NULL
##
## [[468]]
## NULL
##
## [[469]]
## NULL
##
## [[470]]
## NULL
##
## [[471]]
## NULL
##
## [[472]]
## NULL
##
## [[473]]
## NULL
##
## [[474]]
## NULL
##
## [[475]]
## NULL
##
## [[476]]
## NULL
##
## [[477]]
## NULL
##
## [[478]]
## NULL
##
## [[479]]
## NULL
##
## [[480]]
## NULL
##
## [[481]]
## NULL
##
## [[482]]
## NULL
##
## [[483]]
## NULL
##
## [[484]]
## NULL
##
## [[485]]
## NULL
##
## [[486]]
## NULL
##
## [[487]]
## NULL
##
## [[488]]
## NULL
##
## [[489]]
## NULL
##
## [[490]]
## NULL
##
## [[491]]
## NULL
##
## [[492]]
## NULL
##
## [[493]]
## NULL
##
## [[494]]
## NULL
##
## [[495]]
## NULL
##
## [[496]]
## NULL
##
## [[497]]
## NULL
##
## [[498]]
## NULL
##
## [[499]]
## NULL
##
## [[500]]
## NULL
##
## [[501]]
## NULL
##
## [[502]]
## NULL
##
## [[503]]
## NULL
##
## [[504]]
## NULL
##
## [[505]]
## NULL
##
## [[506]]
## NULL
##
## [[507]]
## NULL
##
## [[508]]
## NULL
##
## [[509]]
## NULL
##
## [[510]]
## NULL
##
## [[511]]
## NULL
##
## [[512]]
## NULL
##
## [[513]]
## NULL
##
## [[514]]
## NULL
##
## [[515]]
## NULL
##
## [[516]]
## NULL
##
## [[517]]
## NULL
##
## [[518]]
## NULL
##
## [[519]]
## NULL
##
## [[520]]
## NULL
##
## [[521]]
## NULL
##
## [[522]]
## NULL
##
## [[523]]
## NULL
##
## [[524]]
## NULL
##
## [[525]]
## NULL
##
## [[526]]
## NULL
##
## [[527]]
## NULL
##
## [[528]]
## NULL
##
## [[529]]
## NULL
##
## [[530]]
## NULL
##
## [[531]]
## NULL
##
## [[532]]
## NULL
##
## [[533]]
## NULL
##
## [[534]]
## NULL
##
## [[535]]
## NULL
##
## [[536]]
## NULL
##
## [[537]]
## NULL
##
## [[538]]
## NULL
##
## [[539]]
## NULL
##
## [[540]]
## NULL
##
## [[541]]
## NULL
##
## [[542]]
## NULL
##
## [[543]]
## NULL
##
## [[544]]
## NULL
##
## [[545]]
## NULL
##
## [[546]]
## NULL
##
## [[547]]
## NULL
##
## [[548]]
## NULL
##
## [[549]]
## NULL
##
## [[550]]
## NULL
##
## [[551]]
## NULL
##
## [[552]]
## NULL
##
## [[553]]
## NULL
##
## [[554]]
## NULL
##
## [[555]]
## NULL
##
## [[556]]
## NULL
##
## [[557]]
## NULL
##
## [[558]]
## NULL
##
## [[559]]
## NULL
##
## [[560]]
## NULL
##
## [[561]]
## NULL
##
## [[562]]
## NULL
##
## [[563]]
## NULL
##
## [[564]]
## NULL
##
## [[565]]
## NULL
##
## [[566]]
## NULL
##
## [[567]]
## NULL
##
## [[568]]
## NULL
##
## [[569]]
## NULL
##
## [[570]]
## NULL
##
## [[571]]
## NULL
##
## [[572]]
## NULL
##
## [[573]]
## NULL
##
## [[574]]
## NULL
##
## [[575]]
## NULL
##
## [[576]]
## NULL
##
## [[577]]
## NULL
##
## [[578]]
## NULL
##
## [[579]]
## NULL
##
## [[580]]
## NULL
##
## [[581]]
## NULL
##
## [[582]]
## NULL
##
## [[583]]
## NULL
##
## [[584]]
## NULL
##
## [[585]]
## NULL
##
## [[586]]
## NULL
##
## [[587]]
## NULL
##
## [[588]]
## NULL
##
## [[589]]
## NULL
##
## [[590]]
## NULL
##
## [[591]]
## NULL
##
## [[592]]
## NULL
##
## [[593]]
## NULL
##
## [[594]]
## NULL
##
## [[595]]
## NULL
##
## [[596]]
## NULL
##
## [[597]]
## NULL
##
## [[598]]
## NULL
##
## [[599]]
## NULL
##
## [[600]]
## NULL
##
## [[601]]
## NULL
##
## [[602]]
## NULL
##
## [[603]]
## NULL
##
## [[604]]
## NULL
##
## [[605]]
## NULL
##
## [[606]]
## NULL
##
## [[607]]
## NULL
##
## [[608]]
## NULL
##
## [[609]]
## NULL
##
## [[610]]
## NULL
##
## [[611]]
## NULL
##
## [[612]]
## NULL
##
## [[613]]
## NULL
##
## [[614]]
## NULL
##
## [[615]]
## NULL
##
## [[616]]
## NULL
##
## [[617]]
## NULL
##
## [[618]]
## NULL
##
## [[619]]
## NULL
##
## [[620]]
## NULL
##
## [[621]]
## NULL
##
## [[622]]
## NULL
##
## [[623]]
## NULL
##
## [[624]]
## NULL
##
## [[625]]
## NULL
##
## [[626]]
## NULL
##
## [[627]]
## NULL
##
## [[628]]
## NULL
##
## [[629]]
## NULL
##
## [[630]]
## NULL
##
## [[631]]
## NULL
##
## [[632]]
## NULL
##
## [[633]]
## NULL
##
## [[634]]
## NULL
##
## [[635]]
## NULL
##
## [[636]]
## NULL
##
## [[637]]
## NULL
##
## [[638]]
## NULL
##
## [[639]]
## NULL
##
## [[640]]
## NULL
##
## [[641]]
## NULL
##
## [[642]]
## NULL
##
## [[643]]
## NULL
##
## [[644]]
## NULL
##
## [[645]]
## NULL
##
## [[646]]
## NULL
##
## [[647]]
## NULL
##
## [[648]]
## NULL
##
## [[649]]
## NULL
##
## [[650]]
## NULL
##
## [[651]]
## NULL
##
## [[652]]
## NULL
##
## [[653]]
## NULL
##
## [[654]]
## NULL
##
## [[655]]
## NULL
##
## [[656]]
## NULL
##
## [[657]]
## NULL
##
## [[658]]
## NULL
##
## [[659]]
## NULL
##
## [[660]]
## NULL
##
## [[661]]
## NULL
##
## [[662]]
## NULL
##
## [[663]]
## NULL
##
## [[664]]
## NULL
##
## [[665]]
## NULL
##
## [[666]]
## NULL
##
## [[667]]
## NULL
##
## [[668]]
## NULL
##
## [[669]]
## NULL
##
## [[670]]
## NULL
##
## [[671]]
## NULL
##
## [[672]]
## NULL
##
## [[673]]
## NULL
##
## [[674]]
## NULL
##
## [[675]]
## NULL
##
## [[676]]
## NULL
##
## [[677]]
## NULL
##
## [[678]]
## NULL
##
## [[679]]
## NULL
##
## [[680]]
## NULL
##
## [[681]]
## NULL
##
## [[682]]
## NULL
##
## [[683]]
## NULL
##
## [[684]]
## NULL
##
## [[685]]
## NULL
##
## [[686]]
## NULL
##
## [[687]]
## NULL
##
## [[688]]
## NULL
##
## [[689]]
## NULL
##
## [[690]]
## NULL
##
## [[691]]
## NULL
##
## [[692]]
## NULL
##
## [[693]]
## NULL
##
## [[694]]
## NULL
##
## [[695]]
## NULL
##
## [[696]]
## NULL
##
## [[697]]
## NULL
##
## [[698]]
## NULL
##
## [[699]]
## NULL
##
## [[700]]
## NULL
##
## [[701]]
## NULL
##
## [[702]]
## NULL
##
## [[703]]
## NULL
##
## [[704]]
## NULL
##
## [[705]]
## NULL
##
## [[706]]
## NULL
##
## [[707]]
## NULL
##
## [[708]]
## NULL
##
## [[709]]
## NULL
##
## [[710]]
## NULL
##
## [[711]]
## NULL
##
## [[712]]
## NULL
##
## [[713]]
## NULL
##
## [[714]]
## NULL
##
## [[715]]
## NULL
##
## [[716]]
## NULL
##
## [[717]]
## NULL
##
## [[718]]
## NULL
##
## [[719]]
## NULL
##
## [[720]]
## NULL
##
## [[721]]
## NULL
##
## [[722]]
## NULL
##
## [[723]]
## NULL
##
## [[724]]
## NULL
##
## [[725]]
## NULL
##
## [[726]]
## NULL
##
## [[727]]
## NULL
##
## [[728]]
## NULL
##
## [[729]]
## NULL
##
## [[730]]
## NULL
##
## [[731]]
## NULL
##
## [[732]]
## NULL
##
## [[733]]
## NULL
##
## [[734]]
## NULL
##
## [[735]]
## NULL
##
## [[736]]
## NULL
##
## [[737]]
## NULL
write.table(HAT_mca_2023_2024_text_parts, file = "data/MatsonMattocksFieldLog-2016-2024/HAT_mca_2023_2024_text_parts_with_index.txt", row.names = TRUE, sep = "\t", quote = FALSE)
# Create dataframe to receive data
# vectors for each column
Date <- NA
Hours <- NA
Biomass_removed <- NA
Area_worked <- NA
Invasive_sp_rem <- NA
Species <- NA
Species1 <- NA
Species2 <- NA
Species3 <- NA
fieldlog_MM <- data.frame(Date, Hours, Biomass_removed, Area_worked, Invasive_sp_rem, Species, Species1, Species2, Species3)
fieldlog_MM_1 <- data.frame(Date, Hours, Biomass_removed, Area_worked, Invasive_sp_rem, Species, Species1, Species2, Species3)
fieldlog_MM_2 <- data.frame(Date, Hours, Biomass_removed, Area_worked, Invasive_sp_rem, Species, Species1, Species2, Species3)
HAT_mca_2023_2024_text_parts## [1] "SUMMARY"
## [2] "This log records work activities and general observations by the Mattocks on the Matson Conservation Area (MCA). It also records activities by other parties, special events, items requiring follow-up action and other information that might be of interest to the Matson Mattocks, Habitat Acquisition Trust (HAT) and others. "
## [3] "LOCATIONS"
## [4] "Where possible, locations will be referenced to trees that have been numbered and tagged on site. In a majority of cases these numbers were assigned during the original tree survey and are shown on the survey drawing (Brad Cunnin Land Surveyors File 6244-18 plot dated 2016-07-05). (Please see below)."
## [5] "1161925"
## [6] "As of 01/2024: the map following shows the new Matson zoning scheme. (The ‘Site Plan Of’ map above indicates the tagged identifier tree layout, and the original zoning schema)."
## [7] "30 October 2024"
## [8] "Statistics: "
## [9] "Hours worked this date: 0 "
## [10] "Hours worked year to date: 466.5 "
## [11] "Cu. yds biomass rmvd this date: 0"
## [12] "Cu. yds biomass rmvd year to date: 91.0"
## [13] "Sq. yds. worked this date: 0"
## [14] "Sq. yds. worked year to date: 4394.0"
## [15] "Work Activities:"
## [16] "No work due to inclement weather."
## [17] "23 October 2024"
## [18] "Statistics: "
## [19] "Hours worked this date: 6.0 "
## [20] "Hours worked year to date: 466.5 "
## [21] "Cu. yds biomass rmvd this date: 0.5"
## [22] "Cu. yds biomass rmvd year to date: 91.0"
## [23] "Sq. yds. worked this date: 20.0"
## [24] "Sq. yds. worked year to date: 4394.0"
## [25] "Work Activities:"
## [26] "Continued clearing ivy and blackberry from central zone 3.1."
## [27] "Planted 4 very small donated Garry Oak seedlings in zone 4. Cages have spaces to plant camas bulbs when available. Soil is very rocky in this zone."
## [28] "Observations:"
## [29] "Garter snake in zone 4.1"
## [30] "Miscellaneous and Action Items:"
## [31] "Eric Pittman on site filming a nest next to “nursery exclosure”."
## [32] "16 October 2024"
## [33] "Statistics: "
## [34] "Hours worked this date: 10.5"
## [35] "Hours worked year to date: 460.5"
## [36] "Cu. yds biomass rmvd this date: 1.5"
## [37] "Cu. yds biomass rmvd year to date: 90.5"
## [38] "Sq. yds. worked this date: 50.0"
## [39] "Sq. yds. worked year to date: 4374.0"
## [40] "Work Activities:"
## [41] "Continued clearing, mainly blackberry, ivy, etc., mostly from the central and southern parts of zone 3.1 out to the public walkway. "
## [42] "Planted harvested desert parsley in zone 1.1 exclosure and camas in zone 4 (under protection)."
## [43] "Felled branches, near the bottom of zone 1.2, moved to release trapped rose bushes."
## [44] "New oak seedlings delivered and stored on site (see below)."
## [45] "On-going garbage clean up."
## [46] "Observations:"
## [47] "One small region in central zone 3.1 was not fully cleared of visible invasives last year. That is being rectified currently."
## [48] "The seed blend planted by the HAT work crew in two new enclosures in zone 1.1 last week, include the following:"
## [49] "Achillea millefolium, Yarrow"
## [50] "Allium cernuum, Nodding onion"
## [51] "Camassia leichtlinii, great camas"
## [52] "Camassia quamash, Common camas"
## [53] "Cerastium arvense, Field Chickweed"
## [54] "Clarkia amoena, farewell to spring"
## [55] "Collinsia parviflora, small-flowered blue eyed Mary"
## [56] "Delphinium menziesii, Menzies' larkspur"
## [57] "Eriophyllum lanatum, woolly sunflower"
## [58] "Festuca roemeri Roemer's Fescue"
## [59] "Fritillaria affinis, chocolate lily"
## [60] "Lomatium nudicaule, Barestem Desert-parsley"
## [61] "Plectritis congesta, Sea Blush, "
## [62] " and"
## [63] "Trifolium wildenowii, Tomcat Clover"
## [64] "Miscellaneous and Action Items:"
## [65] "Felled tree limbs (see photos from previous weeks) to be redistributed across the site, where possible, in an attempt to protect existing native species."
## [66] "Max delivered a large number (10+) of potted oak seedlings. They will be planted on yhe site based on optimum planting window(s) and location."
## [67] "7 thru’ 11 Oct 2024 "
## [68] "9 Oct 2024 "
## [69] "Statistics:"
## [70] "Hours worked this date:9.0"
## [71] "Hours worked year to date:450.0"
## [72] "Cu. yds of biomass rmvd on this date: 1.5"
## [73] "Cu. yds of biomass rmvd year to date: 89.0"
## [74] "Sq. yds worked this date: 45.0"
## [75] "Sq. yds worked to date:4324.0"
## [76] "Work Activities:"
## [77] "Continued clearing ivy, blackberry from mid east side of Zone 3.1."
## [78] "Cleared small diameter debris from site of fallen branch at tree #108 (to minimise impact on fawn lilies). One large log remains."
## [79] "Relocated young ocean spray and garry oak which had been crowded out in cages on east side. "
## [80] "Potted cuttings of red osier dogwood and black twinflower. (Literature gives conflicting advice on best time of year for propagating from cuttings.)"
## [81] "Assisted HAT work crew on 8 Oct especially to protect plants of woolly eriopyllum."
## [82] "Observations:"
## [83] "Compost pile in zone 2.1 appears to be viable means of disposing of non-woody organic material."
## [84] "Wet area in zone 2.1 is waterlogged in some areas (leaves on one dogwood have turned red). "
## [85] "More needles found in central zone 3.1."
## [86] "Miscellaneous and Action Items:"
## [87] "HAT crew worked on site every day except 9 Oct constructing exclosures in east meadow. Area inside exclosures was weed-wacked and hand raked prior to spreading native grass/flower seed mixture."
## [88] "Esquimalt personnel worked on site on 10 Oct felling dead branches of arbutus trees on the west side. (This is in addition to work done on or about 2 Oct.) "
## [89] "Little sign that fallen branches and logs have been cleared up to date. Some debris lies on top of ocean spray and rose shrubs. A second lamp standard beside walkway was slightly damaged. "
## [90] "Eric Pittman, also on site, is concerned about destruction of habitat for woodpeckers and hummingbirds and asked to be consulted in future."
## [91] "2 Oct 2024 "
## [92] "Statistics:"
## [93] "Hours worked this date: 11.0"
## [94] "Hours worked year to date: 441.0"
## [95] "Cu. yds of biomass rmvd this date: 1.5"
## [96] "Cu. yds of biomass rmvd ytd: 87.5"
## [97] "Sq. yds worked this date: 55.0"
## [98] "Sq. yds worked to date: 4379.0"
## [99] "Work Activities:"
## [100] "Cleared difficult patches of ivy and blackberry from mid Zone 3.1"
## [101] "Cleared recent garbage in Zone 3.1. "
## [102] "Fabricated six 36” high x 30” dia cages plus two low reinforced chicken wire cages."
## [103] "Observations:"
## [104] "Numerous juncos and nuthatches in zone 4.1"
## [105] "(29/30 Sept 2024 - steady stream of turkey vultures migrating west over Matson and Swallows Landing.)"
## [106] "Large branch has fallen or been cut from arbutus # 108. Sawn up pieces have been left in situ in a rich Fawn lily area (presumably by Esquimalt arborist). Some further cleanup would be desirable. "
## [107] "25 Sept 2024 "
## [108] "No work performed on this date - inclement weather."
## [109] "18 September 2024"
## [110] "Statistics: "
## [111] "Hours worked this date: 9.5 "
## [112] "(Allan, Roger, Robbie, Mike)"
## [113] "Hours worked year to date: 430.0"
## [114] "Cu. yds biomass rmvd this date: 2.0"
## [115] "Cu. yds biomass rmvd year to date: 86.0"
## [116] "Sq. yds. worked this date: 55.0"
## [117] "Sq. yds. worked year to date: 4324.0"
## [118] "Work Activities:"
## [119] "Mainly ivy and blackberry, some holly, hemlock and daphne cleared from zone 3.1."
## [120] "A volume of garbage removed from across the site."
## [121] "Noticed damage to mosses and licorice ferns on rocky bald in Zone 3.1. The damage appears to be caused by people clambering up or down steep rock faces to gain access to the rocky bald."
## [122] "Observations:"
## [123] "Garbage volumes appear on the rise."
## [124] "Miscellaneous and Action Items:"
## [125] "There is a need to produce and plant more oak seedlings across the site due to the number of trees evidencing oak bracket."
## [126] "Potential work party from a local company to assist in site management Wednesday, 24th."
## [127] "11 September 2024"
## [128] "Statistics: "
## [129] "Hours worked this date: 11.5"
## [130] "(Roger, Allan, Eva, Mike)"
## [131] "Hours worked year to date: 420.5 "
## [132] "Cu. yds biomass rmvd this date: 2.0"
## [133] "Cu. yds biomass rmvd year to date: 84.0"
## [134] "Sq. yds. worked this date: 65.0"
## [135] "Sq. yds. worked year to date: 4269.0"
## [136] "Work Activities:"
## [137] "Ivy, blackberry, some grasses, cleared from zone 3.1."
## [138] "Further Oak Bracket identified on numerous Oaks by Roger."
## [139] "West side IP marker located/identified by Roger."
## [140] "Considerable garbage removal from zone 3.1 this week."
## [141] "Observations:"
## [142] "Significant inroads being made with ivy and blackberry eradication in zone 3.1 now, however it has become obvious this will be an on-going challenge for a number of years.."
## [143] "Miscellaneous and Action Items:"
## [144] "Hawthorne branches are still to be cut and removed."
## [145] "Due to significant occurrences of Oak Bracket across the site, the importance of planting oak seedlings is increasing."
## [146] "4 September 2024"
## [147] "Statistics: "
## [148] "Hours worked this date: 18.5 (Allan, Roger, Eva, Robbie, Peter, Mike)"
## [149] "Hours worked year to date: 408.5"
## [150] "Cu. yds biomass rmvd this date: 4.0"
## [151] "Cu. yds biomass rmvd year to date: 82.0"
## [152] "Sq. yds. worked this date: 45.0"
## [153] "Sq. yds. worked year to date: 4204.0"
## [154] "Work Activities:"
## [155] "Ivy, blackberry, thistle, daphne, some grasses, from zones 2.1 & 3.1."
## [156] "2 hawthorne trees removed from zones 5.1 & 3.1."
## [157] "Roger and Peter completed tree tag assessment, (possibly one or two remaining)."
## [158] "A number of enclosures received watering."
## [159] "On-going garbage removal."
## [160] "Observations:"
## [161] "One or more tagged trees require additional maintenance since the bole has grown around the tag."
## [162] "Significant new fern growth, especially in zone 3.1."
## [163] "Miscellaneous and Action Items:"
## [164] "Hawthorne branches to be cut and removed."
## [165] "28 August 2024"
## [166] "Statistics: "
## [167] "Hours worked this date: ?"
## [168] "Hours worked year to date: "
## [169] "Cu. yds biomass rmvd this date: "
## [170] "Cu. yds biomass rmvd year to date: "
## [171] "Sq. yds. worked this date: "
## [172] "Sq. yds. worked year to date: "
## [173] "Work Activities:"
## [174] "Observations:"
## [175] "Miscellaneous and Action Items:"
## [176] "21 August 2024"
## [177] "Statistics: "
## [178] "Hours worked this date: ?"
## [179] "Hours worked year to date: "
## [180] "Cu. yds biomass rmvd this date: "
## [181] "Cu. yds biomass rmvd year to date: "
## [182] "Sq. yds. worked this date: "
## [183] "Sq. yds. worked year to date: "
## [184] "Work Activities:"
## [185] "Observations:"
## [186] "Miscellaneous and Action Items:"
## [187] "14 August 2024"
## [188] "Statistics: "
## [189] "Hours worked this date: 14.5"
## [190] "(Roger, Allen, Eva, Bruce, Mike)"
## [191] "Hours worked year to date: 390.0"
## [192] "Cu. yds biomass rmvd this date: 1.5"
## [193] "Cu. yds biomass rmvd year to date: 78.0"
## [194] "Sq. yds. worked this date: 24.0"
## [195] "Sq. yds. worked year to date: 4159.0"
## [196] "Work Activities:"
## [197] "Roger and Peter completed west of the staircase field work this week, with the aim to update the 2016 Matson site tree survey."
## [198] "Removed blackberry, thistle, ivy from the bottom of zone 2.1."
## [199] "Removed mainly ivy from lower zone 3.1."
## [200] "Further removal of grasses from test patch in zone 3.1."
## [201] "Observations:"
## [202] "A number of healthy oaks were identified as not tagged during the original 1996 survey, perhaps being too young at the time."
## [203] "The tree survey determined the aluminum nails, used to afix the ID tags to the trees, need to be backed off on a tighter schedule, perhaps every 5 or 6, rather than 8, years. This is due to the high rate of trunk circumference growth in many cases."
## [204] "A potentially deadly fungus, Roger has identified as oak bracket, has been found at the base of at least one oak in the meadow. "
## [205] "Tree #76 has been identified as a possible impact danger/hazard due to failing health. "
## [206] "Significant ivy roots are still being removed from lower zone 3.1."
## [207] "Miscellaneous and Action Items:"
## [208] "Further study and possible remediation action necessary to address the black fungus identified as oak bracket."
## [209] "Tree #76, and a few others, need more detailed study, with a decision on whether direct action for removal is required."
## [210] "07 August 2024"
## [211] "Statistics: "
## [212] "Hours worked this date: 16.0 "
## [213] "(Robbie, Allan, Roger, Eva, Bruce, Mike)"
## [214] "Hours worked year to date: 375.5"
## [215] "Cu. yds biomass rmvd this date: 2.0"
## [216] "Cu. yds biomass rmvd year to date: 76.5"
## [217] "Sq. yds. worked this date: 30.0"
## [218] "Sq. yds. worked year to date: 4135.0 "
## [219] "Work Activities:"
## [220] "Mostly removed grasses in a specific zone 3.1 area."
## [221] "Roger started updating 2016 tree survey (25% complete)."
## [222] "Newly found scottish broom removed."
## [223] "Pruned overreaching foliage blocking saplings on east side, particularly above 2 Scouler willows affected by a recent tree fall."
## [224] "Continued removal of creeping buttercup and blackberry from Zone 2.1."
## [225] "Further sedge cut back in zone 3.1."
## [226] "Further watering of enclosures."
## [227] "Observations:"
## [228] "Two newly rooted acorns located in zone 3.1."
## [229] "Garbage sweep - no significant new garbage."
## [230] "Esquimalt DPW picked up biomass pile on 8 Aug."
## [231] "Two Cooper’s hawks flying in unison."
## [232] "Miscellaneous and Action Items:"
## [233] "Plan to cover designated area noted above, approximately 3x4 meters with black moisture resistant matting, in order to sterilize the patch. This area will then be seeded with a variety of recovered seeds by Roger (see July, 24), from across the site, in the spring. "
## [234] "31 July 2024"
## [235] "Statistics: "
## [236] "Hours worked this date: 15.0 "
## [237] "(Allan, Roger, Eva, Bruce, Mike)"
## [238] "Hours worked year to date: 359.5"
## [239] "Cu. yds biomass rmvd this date: 2.5"
## [240] "Cu. yds biomass rmvd year to date: 74.5"
## [241] "Sq. yds. worked this date: 180.0"
## [242] "Sq. yds. worked year to date: 4105.0"
## [243] "Work Activities:"
## [244] "Mainly removing blackberry, ivy from zones 2.1 & 3.1."
## [245] "Cleared resurgent blackberry stolons below the end of Garrett Place. "
## [246] "Cleared broom, Canada thistle, spurge, laurel daphne, etc. from east side (Zones 3.1 and adjacent Esquimalt land.)"
## [247] "Some watering of enclosures."
## [248] "Observations:"
## [249] "Except for small stream running through zones 2.1 & 3.1, the Matson site is extremely dry at this point."
## [250] "Roger sighted some Fringecup survivors above the storm drain discharge pipe."
## [251] "There were still five robust broom plants growing near base of staircase."
## [252] "Miscellaneous and Action Items:"
## [253] "Will continue removing ivy from zone 3.1, until no longer in evidence."
## [254] "Roger states some numbered tree tags need adjustment to back off nails and compensate for girth increase. To be planned."
## [255] "Max suggested revisiting the tree survey. Peter Pinfold will assist Roger with the resurvey this month."
## [256] "24 July 2024"
## [257] "Statistics: "
## [258] "Hours worked this date: 12.0"
## [259] "(Roger, Allan, Eva, Mike)"
## [260] "Hours worked year to date: 334.5"
## [261] "Cu. yds biomass rmvd this date: 3.0"
## [262] "Cu. yds biomass rmvd year to date: 72.0"
## [263] "Sq. yds. worked this date: 280.0"
## [264] "Sq. yds. worked year to date: 3925.0"
## [265] "Work Activities:"
## [266] "Max and HAT work crew on site to familiarize and assist invasive removal, mainly hanging sedge, from wet regions of zone 2.1. Also assisted in the removal of new ivy, blackberry, daphne from zone 3.1."
## [267] "Eva removed invasives from zones 1.1 & 1.3."
## [268] "Roger harvested seeds from camas, red columbine, bare-stem desert-parsley, and distributed water to stressed shrubs and saplings on site east side."
## [269] "Observations:"
## [270] "East side run-off creating new water channel/direction."
## [271] "Ground and shrubs, away from east-side run-off regions, becoming extremely dry."
## [272] "Roger considering establishing a mixed-seed growing area for gathered seeds."
## [273] "Miscellaneous and Action Items:"
## [274] "A need to address sedge much earlier next year since it’s seed spread and resulting growth exploded this year. The removal at this time is also resulting in excess soil loss."
## [275] "Knee pad supply again in good shape."
## [276] "HAT work crew scheduled for on-site Thursday also."
## [277] "17 July 2024"
## [278] "Statistics: "
## [279] "Hours worked this date: 15.0"
## [280] "(Allan, Roger, Eva, Bruce, Mike)"
## [281] "Hours worked year to date: 322.5"
## [282] "Cu. yds biomass rmvd this date: 2.5"
## [283] "Cu. yds biomass rmvd year to date: 69.0"
## [284] "Sq. yds. worked this date: 35.0"
## [285] "Sq. yds. worked year to date: 3645.0"
## [286] "Work Activities:"
## [287] "Mainly ivy from zones 1.1 & 3.1."
## [288] "Hanging Sedge from lower wet area of zone 2.1."
## [289] "Observations:"
## [290] "Possible a Douglas Fir in zone 3.2 is leaning further north than in prior years - to be monitored more closely."
## [291] "Roger concerned new growths in zone 3.1 may be as a result of that which is being washed down in run-off. Greater effort to remove all invasives from zone 2.1 could be beneficial."
## [292] "Roger observed two racoons w 4 kits in upper meadow of zone 1.1."
## [293] "Miscellaneous and Action Items:"
## [294] "A few more enclosures to be cleared."
## [295] "No spare knee pads available."
## [296] "Large root clumps and leaves being composted in dry region of zone 2.1."
## [297] "10 July 2024"
## [298] "Statistics: "
## [299] "Hours worked this date: 12.0"
## [300] "(Allan, Roger, Eva, Mike)"
## [301] "Hours worked year to date: 307.5"
## [302] "Cu. yds biomass rmvd this date: 2.0"
## [303] "Cu. yds biomass rmvd year to date: 66.5"
## [304] "Sq. yds. worked this date: 190.0"
## [305] "Sq. yds. worked year to date: 3610.0"
## [306] "Work Activities:"
## [307] "Removed sedge from zones 2.1/3.1."
## [308] "Removed various invasives from zone 1.3."
## [309] "Removed new ivy, daphne, blackberry, some grasses, from zone 3.1."
## [310] "Observations:"
## [311] "An additional new growth Gary Oak identified. This brings the count to 5, and counting, over the past month."
## [312] "A few additional enclosures in zones 3.1 & 3.3 still to be cleared."
## [313] "Miscellaneous and Action Items:"
## [314] "Knee pad supply has reached zero."
## [315] "03 July 2024"
## [316] "Statistics: "
## [317] "Hours worked this date: 13.0 "
## [318] "(Allan, Roger, Robbie, Eva, Mike)"
## [319] "Hours worked year to date: 295.5"
## [320] "Cu. yds biomass rmvd this date: 2.5"
## [321] "Cu. yds biomass rmvd year to date: 64.5"
## [322] "Sq. yds. worked this date: 245.0"
## [323] "Sq. yds. worked year to date: 3420.0 "
## [324] "Work Activities:"
## [325] "Max visited to conduct a status and planning update."
## [326] "Sedge removed from zone 3.1 lower creek area."
## [327] "On-going removal of invasives as identified from zone 1.1."
## [328] "Zone 3.1 removal of new blackberry, thistles, morning glory, ivy, orchard grass, and extensive cleaver growth."
## [329] "On-going maintenance of grasses, etc., from smaller, distributed, enclosures."
## [330] "Observations:"
## [331] "Note: A number of bur churvil growth areas located under grasses and blackberry in mid zone 3.1. Noted for Winter removal."
## [332] "26 June 2024"
## [333] "Statistics: "
## [334] "Hours worked this date: 9.0"
## [335] "(Roger, Eva, Mike)"
## [336] "Hours worked year to date: 282.5"
## [337] "Cu. yds biomass rmvd this date: 1.0"
## [338] "Cu. yds biomass rmvd year to date: 62.0"
## [339] "Sq. yds. worked this date: 130.0"
## [340] "Sq. yds. worked year to date: 3175.0"
## [341] "Work Activities:"
## [342] "Clearing thistle, blackberry from zone 3.1."
## [343] "Clear blackberry from zone 4.1."
## [344] "Clear grasses+ from enclosures in zones 4.1 & 1.2."
## [345] "Observations:"
## [346] "Grasses and thistles growing on steroids this year."
## [347] "Snowberry and water parsnip located."
## [348] "Enclosed ocean spray appears very healthy."
## [349] "Miscellaneous and Action Items:"
## [350] "Roger found water parsnip in zone 4.1 enclosure. Hopes are to move them to a more conducive location. "
## [351] "Roger started a "
## [352] "19 June 2024"
## [353] "Statistics: "
## [354] "Hours worked this date: 15.0"
## [355] "(Allan, Roger, Eva, Bruce, Mike)"
## [356] "Hours worked year to date: 273.5"
## [357] "Cu. yds biomass rmvd this date: 2.5"
## [358] "Cu. yds biomass rmvd year to date: 61.0"
## [359] "Sq. yds. worked this date: 340.0"
## [360] "Sq. yds. worked year to date: 3045.0"
## [361] "Work Activities:"
## [362] "Removed blackberry and ivy from zone large enclosure in zone 1.2."
## [363] "Removed grasses, other invasives from in and around enclosures across site."
## [364] "Removed orchard grass when discovered."
## [365] "Observations:"
## [366] "Blackberry regrowing quickly in zone 2.1."
## [367] "Found a few new garry oak seedlings growing in enclosures."
## [368] "Miscellaneous and Action Items:"
## [369] "12 June 2024"
## [370] "Statistics: "
## [371] "Hours worked this date: 0"
## [372] "Hours worked year to date: 258.5"
## [373] "Cu. yds biomass rmvd this date: 0"
## [374] "Cu. yds biomass rmvd year to date: 58.5"
## [375] "Sq. yds. worked this date: 0"
## [376] "Sq. yds. worked year to date: 2705.0"
## [377] "Work Activities:"
## [378] "Swallows Strata Council meeting held on this date."
## [379] "Observations:"
## [380] "Miscellaneous and Action Items:"
## [381] "05 June 2024"
## [382] "Statistics: "
## [383] "Hours worked this date: 15.0"
## [384] "(Allan, Roger, Eva, Bruce, Mike)"
## [385] "Hours worked year to date: 258.5"
## [386] "Cu. yds biomass rmvd this date: 1.0"
## [387] "Cu. yds biomass rmvd year to date: 58.5"
## [388] "Sq. yds. worked this date: 190.0"
## [389] "Sq. yds. worked year to date: 2705.0"
## [390] "Work Activities:"
## [391] "Removed new ivy & blackberry from zone 3.1."
## [392] "Removed grasses + from in and around cages across site."
## [393] "Removed mustard seed, blackberry from top of zone 2.1."
## [394] "Observations: "
## [395] "New ivy, blackberry across many zones."
## [396] "Some wind blowdown tree trunks and branches will need to be cut back due to their impact on surrounding plants."
## [397] "Miscellaneous and Action Items:"
## [398] "Will continue removing new ivy and blackberry across site."
## [399] "Will continue removing grasses and blowdowns from cages."
## [400] "Will procure and distribute wood chips to all cages."
## [401] "29 May 2024"
## [402] "Statistics: "
## [403] "Hours worked this date: 12.0"
## [404] "(Allan, Eva, Bruce, Mike)"
## [405] "Hours worked year to date: 243.5"
## [406] "Cu. yds biomass rmvd this date: 2.0"
## [407] "(Incl. 3 large garbage bags bur chervil)"
## [408] "Cu. yds biomass rmvd year to date: 57.5"
## [409] "Sq. yds. worked this date: 220.0"
## [410] "Sq. yds. worked year to date: 2515.0"
## [411] "Work Activities:"
## [412] "Removed extensive volumes of bur chervil from the west quadrant, including zones 2.1, 4.1, 4.3, along with some from within the large enclosure. "
## [413] "In addition, new ivy and blackberry was removed from zones 4.1 & 4.3."
## [414] "Other invasives such as mustard, toad flax, daphne, cleaver, etc., removed as identified."
## [415] "Observations:"
## [416] "There was still little evidence of the bur chervil going to seed, so we took one more effort to remove site-wide. There will certainly be some missed, but for much of the site, bur chervil is no longer readily evident."
## [417] "Miscellaneous and Action Items:"
## [418] "Blackberry to be removed from large enclosure."
## [419] "New blackberry, ivy, etc., to be removed from 3.1."
## [420] "Grasses, etc., to be removed from in, and around, cages."
## [421] "Further discussion needed on how to approach removal of invasive grasses site-wide. They are so prolific at this point, there has been discussion it may be best to wait for autumn."
## [422] "22 May 2024"
## [423] "Statistics: "
## [424] "Hours worked this date: 12.0 "
## [425] "(Allan, Roger, Bruce, Mike)"
## [426] "Hours worked year to date: 231.5"
## [427] "Cu. yds biomass rmvd this date: 1.5"
## [428] "(Incl. 2 large garbage bags bur chervil)"
## [429] "Cu. yds biomass rmvd year to date: 55.5"
## [430] "Sq. yds. worked this date: 155.0"
## [431] "Sq. yds. worked year to date: 2295.0"
## [432] "Work Activities:"
## [433] "Revisited newly evident blackberry, daphne, ivy, etc., mostly in zones 3.2 & 3.3."
## [434] "15 May 2024"
## [435] "Statistics: "
## [436] "Hours worked this date: 14.0"
## [437] "(Allan, Roger, Eva, Mike, Bruce)"
## [438] "Hours worked year to date: 219.5"
## [439] "Cu. yds biomass rmvd this date: 1.5"
## [440] "Cu. yds biomass rmvd year to date: 54.0"
## [441] "Sq. yds. worked this date: 120.0"
## [442] "Sq. yds. worked year to date: 2140.0"
## [443] "Work Activities:"
## [444] "Met with Max & Loren to discuss forward plans."
## [445] "Continued the removal of bur chervil from zones 1.1 & 1.2."
## [446] "Thistle removed from zone 3.2."
## [447] "Some grasses removed from cages in zone 2.1."
## [448] "Observations:"
## [449] "May have one more week for bur chervil removal before it goes to seed - (have black bags now for safer disposal)."
## [450] "Miscellaneous and Action Items:"
## [451] "Will continue with bur chervil for as long as possible, then continue removing grasses, first from cages, then on a prioritized zone basis."
## [452] "HAT to look into scheduling a second herbicide treatment below Garbally."
## [453] "8 May 2024"
## [454] "Statistics: "
## [455] "Hours worked this date: 12.0"
## [456] "(+35 min. planning session w Roger, Allan, Eva, Bruce, Mike)"
## [457] "Hours worked year to date: 205.5 "
## [458] "Cu. yds biomass rmvd this date: 1.5"
## [459] "Cu. yds biomass rmvd year to date: 52.5"
## [460] "Sq. yds. worked this date: 240.0 Sq. yds. worked year to date: 2020.0"
## [461] "Work Activities:"
## [462] "Mainly continued the removal of bur chervil from zones 1.1 & 1.3. "
## [463] "Scottish broom removed from zone 1.1/1.2."
## [464] "Observations:"
## [465] "Hope to have one to two weeks more to continue removal of bur chervil before it goes to seed."
## [466] "The removal of grasses will start in late May/early June."
## [467] "Miscellaneous and Action Items:"
## [468] "Planning session notes:"
## [469] "The HAT planning draft was well received and should become a very useful guide as further details on invasives’ removal per season, or month, become added."
## [470] "There was a question on whether new plantings should be added to the plan timetable?"
## [471] "There was a follow-up question on whether a recommended new plant watering guide, especially for dry months, could be added to help new plantings flourish?"
## [472] "There was a question that since it is sometimes very difficult to identify an invasive e.g. grasses, geraniums, etc., would it be possible for HAT to provide invasive images in plastic tabs on a ring for the field?"
## [473] "Roger volunteered to research a forward plan for Matson invasive grass removal."
## [474] "Allan has agreed to be the Matson crew lead while in Victoria. He will work with Roger and HAT to help next steps planning in the removal of grasses."
## [475] "HAT requested Matson consider starting the use of an Excel program to record field work activity. This was discussed and agreed to until it was realized that importing/exporting from Numbers would be necessary by most crew members. Since the Field Log works very well for its purpose, it was decided it would be best to continue its use at this time."
## [476] "A request was made to remove grasses from cages, as they are choking out new plantings. This is scheduled for next week."
## [477] "Based on the planning document for the Matson site, focus will soon move to grasses, starting in zones 1.1 thru 1.3. Other invasives will be removed as necessary."
## [478] "1 May 2024"
## [479] "Statistics: "
## [480] "Hours worked this date: 10.0"
## [481] "Hours worked year to date: 193.5 "
## [482] "Cu. yds biomass rmvd this date: 1.0"
## [483] "Cu. yds biomass rmvd year to date: 51.0"
## [484] "Sq. yds. worked this date: 600.0 (on bur chervil, north zone 1.1 & 3.2. Other invasives when identified)."
## [485] "Sq. yds. worked year to date: 1782.0"
## [486] "Work Activities:"
## [487] "Focus on bur chervil, but on an as identified basis, blackberry, daphne, geraniums, thistle, cleaver, Scottish broom, removed."
## [488] "Peter Pinfold conducted photo monitoring efforts on the site."
## [489] "Observations:"
## [490] "Widespread and varied geraniums found in zone 1.1."
## [491] "24 Apr 2024"
## [492] "Statistics: "
## [493] "Hours worked this date: 11.0"
## [494] "Hours worked year to date: 183.5"
## [495] "Cu. yds biomass rmvd this date: 2.5"
## [496] "Cu. yds biomass rmvd year to date: 50.0"
## [497] "Sq. yds. worked this date: 600.0 (on bur chervil), 25.0 (on scotch broom)"
## [498] "Sq. yds. worked year to date: 1182.0"
## [499] "Work Activities:"
## [500] "Primarily removed bur chervil from upper zone 1.1, and from zone 1.2 from staircase west to tree 117 and upper wall south to tree 113. Removed large and small scotch broom bushes from near bottom of staircase."
## [501] "Observations:"
## [502] "Camas are in full bloom so did not go south of tree 113. Will need to address bur chervil south of here when wild flowers dissipate. "
## [503] "More scotch broom and new daphne in zones 1.1 and 3.3 to be removed."
## [504] "17 Apr 2024"
## [505] "Statistics: "
## [506] "Hours worked this date: 9.0"
## [507] "Hours worked year to date: 172.5"
## [508] "Cu. yds biomass rmvd this date: 2.0"
## [509] "Cu. yds biomass rmvd year to date: 47.5"
## [510] "Sq. yds. worked this date: 44.0"
## [511] "Sq. yds. worked year to date: 582.0"
## [512] "Work Activities:"
## [513] "Removed bur cherval from zones 3.1 & 3.3."
## [514] "Removed new pockets of blackberry, ivy and daphne from zones 3.1 & 3.2, as they become evident."
## [515] "Removed large volumes of daphne from the pathway, south of zones 3.1 and 3.3. There is no longer evidence of daphne abuting the southern portion of Matson, at this time, however there are considerable quantities of new growth daphne plants within zones 3.1 & 3.3."
## [516] "Observations:"
## [517] "While Camas is currently growing in abundance across the meadow, the density of growth, within the zone 1.2 enclosure, is considerably higher."
## [518] "Miscellaneous and Action Items:"
## [519] "The plan is to continue removing bur cherval and orchard grass across the site. Blackberry, ivy, daphne, scotch broom and thistles will continue to be removed as necessary. "
## [520] "10 Apr 2024"
## [521] "Statistics: "
## [522] "Hours worked this date: 9.0 "
## [523] "Hours worked year to date: 163.5"
## [524] "Cu. yds biomass rmvd this date: 1.0"
## [525] "Cu. yds biomass rmvd year to date: 45.5 "
## [526] "Sq. yds. worked this date: 48.0"
## [527] "Sq. yds. worked year to date: 538.0"
## [528] "Work Activities:"
## [529] "Removed bur chervil from zones 3.2, 3.3, & 3.4."
## [530] "Removed new daphne, broom and ivy from zones 3.3 & 3.4."
## [531] "Observations:"
## [532] "There are large outgrowths of daphne across the seawalk from zones 3.2 & 3.3. This will be dealt with on April 17th."
## [533] "03 Apr 2024"
## [534] "Statistics: "
## [535] "Hours worked this date: 0"
## [536] "Hours worked year to date: 154.5"
## [537] "Cu. yds biomass rmvd this date: 0"
## [538] "Cu. yds biomass rmvd year to date: 44.5"
## [539] "Sq. yds. worked this date: 0"
## [540] "Sq. yds. worked year to date: 490.0"
## [541] "Work Activities:"
## [542] "No work party on this day."
## [543] "27 Mar 2024"
## [544] "Statistics: "
## [545] "Hours worked this date: 4.0"
## [546] "Hours worked year to date: 154.5"
## [547] "Cu. yds biomass rmvd this date: 0.5"
## [548] "Cu. yds biomass rmvd year to date: 44.5"
## [549] "Sq. yds. worked this date: 15.0"
## [550] "Sq. yds. worked year to date: 490.0"
## [551] "Work Activities:"
## [552] "Removed bur chervil from the west side of the staircase, zone 1.2."
## [553] "Observations:"
## [554] "Lots of bur chervil removed but lots more evident in many areas of Matson."
## [555] "Miscellaneous and Action Items:"
## [556] "Continue on the bur chervil, also new ivy and daphne in zone 1.1."
## [557] "20 Mar 2024"
## [558] "Statistics:"
## [559] "Hours worked this date: 9.5 "
## [560] "Hours worked year to date: 150.5 "
## [561] "Cu. yds biomass rmvd this date: 0.4 "
## [562] "Cu. yds biomass rmvd year to date: 44.0"
## [563] "Sq. yds. worked this date: 75.0"
## [564] "Sq. yds. worked year to date: 475.0"
## [565] "Work Activities:"
## [566] "Continued pulling mainly bur chervil; Roger checked on planted trees and shrubs and cleared grass. "
## [567] "At this point cleared up to tree 333 from top to bottom "
## [568] "Bruce 3 hrs; Eva 3 hrs; Robbie 1.5 hrs; Roger 2 hrs"
## [569] "13 Mar 2024 "
## [570] "Statistics"
## [571] "Hours worked this date: 6.0 "
## [572] "Hours worked year to date: 141"
## [573] "Cu. yds biomass rmvd this date: 0.3"
## [574] "Cu. yds biomass rmvd year to date: 43.6"
## [575] "Sq. yds. worked this date: 100.0"
## [576] "Sq. yds. worked year to date: 400.0"
## [577] "Work Activities:"
## [578] "Continued clearing (mainly) bur chervil from zones 4.2 and 4.3."
## [579] "06 Mar 2024"
## [580] "Statistics: "
## [581] "Hours worked this date: 7.0 "
## [582] "Hours worked year to date: 135.0"
## [583] "Cu. yds biomass rmvd this date: 0.3 "
## [584] "Cu. yds biomass rmvd year to date: 43.3"
## [585] "Sq. yds. worked this date: 225.0 "
## [586] "Sq. yds. worked year to date: 300.0"
## [587] "Work Activities:"
## [588] "Cleared bur chervil in zones 4.2,4.3,and 4.1 from Tree #25 to Tree #59. Will continue moving eastward. Bruce- 3 hrs; Eva 3 hrs; "
## [589] "28 Feb 2024"
## [590] "Statistics: "
## [591] "Hours worked this date: 12.0"
## [592] "Hours worked year to date: 128.0"
## [593] "Cu. yds biomass rmvd this date: 9.0"
## [594] "Cu. yds biomass rmvd year to date: 43.0"
## [595] "Sq. yds. worked this date: 32.0"
## [596] "Sq. yds. worked year to date: 75.0"
## [597] "Work Activities:"
## [598] "Cleared remaining ivy lying throughout lawn in northwest corner."
## [599] "Removed bur chervil from near staircase."
## [600] "Removed more ivy in southeast corner of site."
## [601] "21 Feb 2024"
## [602] "Statistics: "
## [603] "Hours worked this date: 9.0"
## [604] "Hours worked year to date: 116.0"
## [605] "Cu. yds biomass rmvd this date: 6.0"
## [606] "Cu. yds biomass rmvd year to date: 34.0"
## [607] "Sq. yds. worked this date: 15.0"
## [608] "Sq. yds. worked year to date: 43.0"
## [609] "Work Activities:"
## [610] "Continued clearing, mainly ivy and blackberry, beyond tree tag #15 in the northwest corner. Also started clearing ivy lying throughout lawn in northwest corner."
## [611] "Observations:"
## [612] "bur chervil growing in lawn, also poison hemlock. "
## [613] "14 Feb 2024"
## [614] "Statistics: "
## [615] "Hours worked this date: 12.0"
## [616] "Hours worked year to date: 107.0"
## [617] "Cu. yds biomass rmvd this date: 7.0"
## [618] "Cu. yds biomass rmvd year to date: 28.0"
## [619] "Sq. yds. worked this date: 28.0"
## [620] "Sq. yds. worked year to date: 28.0"
## [621] "Work Activities:"
## [622] "Continued clearing, mainly ivy and blackberry, beyond tree tag #15 in the northwest corner."
## [623] "Observations:"
## [624] "Ivy covering lawn in this area is not firmly rooted and therefore, for the most part, not difficult to remove."
## [625] "Miscellaneous and Action Items:"
## [626] "On-going discussions on, to what extent should Matson Matocks be continuing remediation in this area."
## [627] "07 Feb 2024"
## [628] "Statistics: "
## [629] "Hours worked this date: 6.0"
## [630] "Hours worked year to date: 95.0"
## [631] "Cu. yds biomass rmvd this date: 4.0 "
## [632] "Cu. yds biomass rmvd year to date: 21.0"
## [633] "Work Activities:"
## [634] "Continued clearing of ivy and blackberry, now to just beyond tree tag #15 in Zone 4.2, the northwest corner."
## [635] "Observations:"
## [636] "There is a lot of ivy throughout the grass lawn between tree tag #15 and the Swallows west most wall."
## [637] "Miscellaneous and Action Items:"
## [638] "At least one more week of clean-up in the slope region of tree tags #15 & 16. "
## [639] "A plan to address the ivy growing throughout the grass lawn above the slope may be necessary."
## [640] "31 Jan 2024"
## [641] "Statistics: "
## [642] "Hours worked this date: 0"
## [643] "Hours worked year to date: 89.0"
## [644] "Cu. yds biomass rmvd this date: 0"
## [645] "Cu. yds biomass rmvd year to date: 17.0"
## [646] "Work Activities:"
## [647] "Canceled due to wind."
## [648] "24 Jan 2024"
## [649] "Statistics: "
## [650] "Hours worked this date: 0"
## [651] "Hours worked year to date: 89.0"
## [652] "Cu. yds biomass rmvd this date: 0"
## [653] "Cu. yds biomass rmvd year to date: 17.0"
## [654] "Work Activities:"
## [655] "Canceled based on wind predictions and rain."
## [656] "17 Jan 2024"
## [657] "Statistics: "
## [658] "Hours worked this date: 0"
## [659] "Hours worked year to date: 89.0"
## [660] "Cu. yds biomass rmvd this date: 0"
## [661] "Cu. yds biomass rmvd year to date: 17.0"
## [662] "Work Activities:"
## [663] "Snow and low temperatures. No work party."
## [664] "10 Jan 2024 "
## [665] "Statistics: "
## [666] "Hours worked this date: 9.0"
## [667] "Hours worked year to date: 89.0"
## [668] "Cu. yds biomass rmvd this date: 3.0"
## [669] "Cu. yds biomass rmvd year to date: 17.0"
## [670] "Work Activities:"
## [671] "Continued clearing of ivy and blackberry leading up to tree tag #16 in Zone 4.2 of the Matson site."
## [672] "Observations:"
## [673] "A flowerbed was planted at some point on the slope leading into tree tags #16 & #15. We have removed some bulbs that were identifiable, but more remain. Further review warranted when plants begin to flower."
## [674] "Miscellaneous and Action Items:"
## [675] "We will likely reach tree tag #15, the northwestern boundary of the Matson site, within our next two crew outings."
## [676] "3 Jan 2024 "
## [677] "Statistics:"
## [678] "Hours worked this date: 14.0"
## [679] "Hours worked year to date: 80.0"
## [680] "Cu. yds of biomass rmvd on this day: 4.0"
## [681] "Cu. yds of biomass rmvd year to date: 14.0"
## [682] "Work Activities:"
## [683] "Continued clearing ivy and occasional blackberry from upper west side. The cleared area has now reached, or in some places crossed, the boundary with Swallows Landing Strata."
## [684] "Removed 4 trampled and overgrown cages on east side. These cages were installed in the hope of protecting checker lily and shooting star plants. It is felt that the cages do more harm than good."
## [685] "Observations:"
## [686] "The Matson woodlands provide habitat for large numbers (hundreds) of small birds (Juncos and others) at this time of year.."
## [687] "Miscellaneous and Action Items:"
## [688] "A number of small poison hemlock plants are emerging on the west side of strata property."
## [689] "20 Dec 2023 "
## [690] "Statistics:"
## [691] "Hours worked this date:9.0"
## [692] "Hours worked year to date:66.0"
## [693] "Cu. yds of biomass rmvd on this date:3.0"
## [694] "Cu. yds of biomass rmvd year to date:10.0"
## [695] "Work Activities:"
## [696] "Continued clearing ivy from far west side."
## [697] "13 Dec 2023 "
## [698] "Statistics:"
## [699] "Hours worked this date:14.0"
## [700] "Hours worked year to date:57.0"
## [701] "Cu. yds of biomass rmvd on this date:2.0"
## [702] "Cu. yds of biomass rmvd year to date:7.0"
## [703] "Work Activities:"
## [704] "Continued ivy removal on west margin."
## [705] "Maintenance in east woodlands and buttercup removal in wet area."
## [706] "Miscellaneous and Action Items:"
## [707] "Accompanied Max Mitchell to geo-locate areas with plant species of interest."
## [708] "Reviewed recent damage to west meadow exclosure. Temporary exclosure will be repaired. HAT will investigate a longer term solution with more durable fence."
## [709] "Well established Montia plants on small rocky outcrop near tree #200 have been almost completely destroyed, presumably by racoons, after the overgrown low wire cage was removed. "
## [710] "6 Dec 2023 "
## [711] "Statistics:"
## [712] "Hours worked this date:12"
## [713] "Hours worked year to date:43.0"
## [714] "Cu. yds of biomass rmvd on this date:3.0"
## [715] "Cu. yds of biomass rmvd year to date:5.0"
## [716] "Work Activities:"
## [717] "Cleared ivy from new area on the far west side in the area around trees # 17 thru’ 26."
## [718] "Continued maintenance in upper east woodlands."
## [719] "Miscellaneous and Action Items:"
## [720] "No work performed on 8 or 29 Nov."
## [721] "22 Nov 2023 "
## [722] "Statistics:"
## [723] "Hours worked this date:6.0"
## [724] "Hours worked year to date:31.0"
## [725] "Cu. yds of biomass rmvd on this date:0"
## [726] "Cu. yds of biomass rmvd year to date:2.0"
## [727] "Work Activities:"
## [728] "Maintained assorted protective cages in NE corner. Some cages removed or replaced where appropriate. "
## [729] "Observations:"
## [730] "Yerba buena, kinnikinnick have survived just barely in one location only. Broad leaf stonecrop, montia, hairy honeysuckle, rattlesnake plantain seem well established in multiple locations. "
## [731] "Extremely wet on the east side because of storm drainage - at least one sword fern has succumbed due to waterlogged ground."
## [732] "15 Nov 2023 "
## [733] "Statistics:"
## [734] "Hours worked this date:11.0"
## [735] "Hours worked year to date:25.0"
## [736] "Cu. yds of biomass rmvd on this date:0"
## [737] "Cu. yds of biomass rmvd year to date:2.0"
## [738] "Work Activities:"
## [739] "Planted red osier dogwood (2), black twin berry (2), sword ferns (10), large leaved avens, self-heal, fringecup, yampah, sedges and grasses provide by HAT. (In conjunction with HAT staff and Abby from Satinflower)."
## [740] "HAT staff also used weed-wacker in east meadow to remove thatch and spread mixed bulk wildflower seeds."
## [741] "Constructed additional cages for shrubs from 48” wire mesh. Shrubs above also caged for deer protection."
## [742] "Substantially completed ivy clearance from SE corner. Dense ivy cover now remains only on the west side in the far NW and SW corners."
## [743] "Continued general maintenance in NE quadrant."
## [744] "Observations:"
## [745] "Purple Jellydisc, Turkey Tail and False Turkey Tail fungi observed on logs from fallen garry oak."
## [746] "1 Nov 2023 "
## [747] "Statistics:"
## [748] "Hours worked this date:14.0"
## [749] "Hours worked year to date:14.0"
## [750] "Cu. yds of biomass rmvd on this date:2.0"
## [751] "Cu. yds of biomass rmvd year to date:2.0"
## [752] "Work Activities:"
## [753] "Continued clearing ivy from SE corner adjacent to walkway."
## [754] "Preparation of wet area on east side ready to receive plants next week."
## [755] "Manufactured wire mesh cages for wet area and for protection of satin flowers on rocky bald."
## [756] "APPENDICES."
## [757] "CONTACT INFORMATION."
## [758] "Seaside Place Apartment Complex"
## [759] "Mary Ellen "
## [760] "Phone:250-818-1070"
## [761] "Email:manager@seasideplace.ca"
## [762] "Bylaw Management officer"
## [763] "Wayne Giesbrecht "
## [764] "Phone:(250) 414-7161"
## [765] "Email:wayne.giesbrecht@esquimalt.ca"
## [766] "Esquimalt arborist (also contact for Public Works biomass pick-up)."
## [767] "Noah Alexander"
## [768] "Phone:1-250-412-8527"
## [769] "Email:noah.alexander@esquimalt.ca"
## [770] "Community Police Contacts"
## [771] "Cst. Kevin Lastiwka "
## [772] "Phone:250-995-7502"
## [773] "KEY."
## [774] "MCAMatson Conservation Area"
## [775] "DBHDiameter at breast height"
## [776] "ACOArtificial cover object"
str(HAT_mca_2023_2024_text_parts)## chr [1:776] "SUMMARY" ...
colnames(fieldlog_MM)## [1] "Date" "Hours" "Biomass_removed" "Area_worked"
## [5] "Invasive_sp_rem" "Species" "Species1" "Species2"
## [9] "Species3"
fieldlog_MM$Date[1] <- HAT_mca_2023_2024_text_parts[17]
fieldlog_MM$Hours[1]<- HAT_mca_2023_2024_text_parts[19]
fieldlog_MM$Biomass_removed[1]<- HAT_mca_2023_2024_text_parts[21]
fieldlog_MM$Area_worked[1]<- HAT_mca_2023_2024_text_parts[23]
fieldlog_MM$Invasive_sp_rem[1]<- HAT_mca_2023_2024_text_parts[26]
fieldlog_MM$Species[1]<- HAT_mca_2023_2024_text_parts[27]
fieldlog_MM$Species1[1]<- HAT_mca_2023_2024_text_parts[29]
fieldlog_MM$Species2[1]<- NA
fieldlog_MM$Species3[1]<- NA
fieldlog_MM_1$Date[1] <- HAT_mca_2023_2024_text_parts[32]
fieldlog_MM_1$Hours[1]<- HAT_mca_2023_2024_text_parts[34]
fieldlog_MM_1$Biomass_removed[1]<- HAT_mca_2023_2024_text_parts[36]
fieldlog_MM_1$Area_worked[1]<- HAT_mca_2023_2024_text_parts[38]
fieldlog_MM_1$Invasive_sp_rem[1]<- HAT_mca_2023_2024_text_parts[41]
fieldlog_MM_1$Species[1]<- HAT_mca_2023_2024_text_parts[42]
fieldlog_MM_1$Species1[1]<- HAT_mca_2023_2024_text_parts[66]
fieldlog_MM_1$Species3[1]<- NA
fieldlog_MM_2$Date[1] <- HAT_mca_2023_2024_text_parts[67]
fieldlog_MM_2$Hours[1]<- HAT_mca_2023_2024_text_parts[69]
fieldlog_MM_2$Biomass_removed[1]<- HAT_mca_2023_2024_text_parts[71]
fieldlog_MM_2$Area_worked[1]<- HAT_mca_2023_2024_text_parts[73]
fieldlog_MM_2$Invasive_sp_rem[1]<- HAT_mca_2023_2024_text_parts[76]
fieldlog_MM_2$Species[1]<- HAT_mca_2023_2024_text_parts[78]
fieldlog_MM_2$Species1[1]<- HAT_mca_2023_2024_text_parts[79]
fieldlog_MM_2$Species2[1]<- HAT_mca_2023_2024_text_parts[80]
fieldlog_MM_all <- rbind(fieldlog_MM, fieldlog_MM_1, fieldlog_MM_2)
# use saved text file to copy / paste from - no formatting unlike Word docHAT_mca_2023_2024_text_parts## [1] "SUMMARY"
## [2] "This log records work activities and general observations by the Mattocks on the Matson Conservation Area (MCA). It also records activities by other parties, special events, items requiring follow-up action and other information that might be of interest to the Matson Mattocks, Habitat Acquisition Trust (HAT) and others. "
## [3] "LOCATIONS"
## [4] "Where possible, locations will be referenced to trees that have been numbered and tagged on site. In a majority of cases these numbers were assigned during the original tree survey and are shown on the survey drawing (Brad Cunnin Land Surveyors File 6244-18 plot dated 2016-07-05). (Please see below)."
## [5] "1161925"
## [6] "As of 01/2024: the map following shows the new Matson zoning scheme. (The ‘Site Plan Of’ map above indicates the tagged identifier tree layout, and the original zoning schema)."
## [7] "30 October 2024"
## [8] "Statistics: "
## [9] "Hours worked this date: 0 "
## [10] "Hours worked year to date: 466.5 "
## [11] "Cu. yds biomass rmvd this date: 0"
## [12] "Cu. yds biomass rmvd year to date: 91.0"
## [13] "Sq. yds. worked this date: 0"
## [14] "Sq. yds. worked year to date: 4394.0"
## [15] "Work Activities:"
## [16] "No work due to inclement weather."
## [17] "23 October 2024"
## [18] "Statistics: "
## [19] "Hours worked this date: 6.0 "
## [20] "Hours worked year to date: 466.5 "
## [21] "Cu. yds biomass rmvd this date: 0.5"
## [22] "Cu. yds biomass rmvd year to date: 91.0"
## [23] "Sq. yds. worked this date: 20.0"
## [24] "Sq. yds. worked year to date: 4394.0"
## [25] "Work Activities:"
## [26] "Continued clearing ivy and blackberry from central zone 3.1."
## [27] "Planted 4 very small donated Garry Oak seedlings in zone 4. Cages have spaces to plant camas bulbs when available. Soil is very rocky in this zone."
## [28] "Observations:"
## [29] "Garter snake in zone 4.1"
## [30] "Miscellaneous and Action Items:"
## [31] "Eric Pittman on site filming a nest next to “nursery exclosure”."
## [32] "16 October 2024"
## [33] "Statistics: "
## [34] "Hours worked this date: 10.5"
## [35] "Hours worked year to date: 460.5"
## [36] "Cu. yds biomass rmvd this date: 1.5"
## [37] "Cu. yds biomass rmvd year to date: 90.5"
## [38] "Sq. yds. worked this date: 50.0"
## [39] "Sq. yds. worked year to date: 4374.0"
## [40] "Work Activities:"
## [41] "Continued clearing, mainly blackberry, ivy, etc., mostly from the central and southern parts of zone 3.1 out to the public walkway. "
## [42] "Planted harvested desert parsley in zone 1.1 exclosure and camas in zone 4 (under protection)."
## [43] "Felled branches, near the bottom of zone 1.2, moved to release trapped rose bushes."
## [44] "New oak seedlings delivered and stored on site (see below)."
## [45] "On-going garbage clean up."
## [46] "Observations:"
## [47] "One small region in central zone 3.1 was not fully cleared of visible invasives last year. That is being rectified currently."
## [48] "The seed blend planted by the HAT work crew in two new enclosures in zone 1.1 last week, include the following:"
## [49] "Achillea millefolium, Yarrow"
## [50] "Allium cernuum, Nodding onion"
## [51] "Camassia leichtlinii, great camas"
## [52] "Camassia quamash, Common camas"
## [53] "Cerastium arvense, Field Chickweed"
## [54] "Clarkia amoena, farewell to spring"
## [55] "Collinsia parviflora, small-flowered blue eyed Mary"
## [56] "Delphinium menziesii, Menzies' larkspur"
## [57] "Eriophyllum lanatum, woolly sunflower"
## [58] "Festuca roemeri Roemer's Fescue"
## [59] "Fritillaria affinis, chocolate lily"
## [60] "Lomatium nudicaule, Barestem Desert-parsley"
## [61] "Plectritis congesta, Sea Blush, "
## [62] " and"
## [63] "Trifolium wildenowii, Tomcat Clover"
## [64] "Miscellaneous and Action Items:"
## [65] "Felled tree limbs (see photos from previous weeks) to be redistributed across the site, where possible, in an attempt to protect existing native species."
## [66] "Max delivered a large number (10+) of potted oak seedlings. They will be planted on yhe site based on optimum planting window(s) and location."
## [67] "7 thru’ 11 Oct 2024 "
## [68] "9 Oct 2024 "
## [69] "Statistics:"
## [70] "Hours worked this date:9.0"
## [71] "Hours worked year to date:450.0"
## [72] "Cu. yds of biomass rmvd on this date: 1.5"
## [73] "Cu. yds of biomass rmvd year to date: 89.0"
## [74] "Sq. yds worked this date: 45.0"
## [75] "Sq. yds worked to date:4324.0"
## [76] "Work Activities:"
## [77] "Continued clearing ivy, blackberry from mid east side of Zone 3.1."
## [78] "Cleared small diameter debris from site of fallen branch at tree #108 (to minimise impact on fawn lilies). One large log remains."
## [79] "Relocated young ocean spray and garry oak which had been crowded out in cages on east side. "
## [80] "Potted cuttings of red osier dogwood and black twinflower. (Literature gives conflicting advice on best time of year for propagating from cuttings.)"
## [81] "Assisted HAT work crew on 8 Oct especially to protect plants of woolly eriopyllum."
## [82] "Observations:"
## [83] "Compost pile in zone 2.1 appears to be viable means of disposing of non-woody organic material."
## [84] "Wet area in zone 2.1 is waterlogged in some areas (leaves on one dogwood have turned red). "
## [85] "More needles found in central zone 3.1."
## [86] "Miscellaneous and Action Items:"
## [87] "HAT crew worked on site every day except 9 Oct constructing exclosures in east meadow. Area inside exclosures was weed-wacked and hand raked prior to spreading native grass/flower seed mixture."
## [88] "Esquimalt personnel worked on site on 10 Oct felling dead branches of arbutus trees on the west side. (This is in addition to work done on or about 2 Oct.) "
## [89] "Little sign that fallen branches and logs have been cleared up to date. Some debris lies on top of ocean spray and rose shrubs. A second lamp standard beside walkway was slightly damaged. "
## [90] "Eric Pittman, also on site, is concerned about destruction of habitat for woodpeckers and hummingbirds and asked to be consulted in future."
## [91] "2 Oct 2024 "
## [92] "Statistics:"
## [93] "Hours worked this date: 11.0"
## [94] "Hours worked year to date: 441.0"
## [95] "Cu. yds of biomass rmvd this date: 1.5"
## [96] "Cu. yds of biomass rmvd ytd: 87.5"
## [97] "Sq. yds worked this date: 55.0"
## [98] "Sq. yds worked to date: 4379.0"
## [99] "Work Activities:"
## [100] "Cleared difficult patches of ivy and blackberry from mid Zone 3.1"
## [101] "Cleared recent garbage in Zone 3.1. "
## [102] "Fabricated six 36” high x 30” dia cages plus two low reinforced chicken wire cages."
## [103] "Observations:"
## [104] "Numerous juncos and nuthatches in zone 4.1"
## [105] "(29/30 Sept 2024 - steady stream of turkey vultures migrating west over Matson and Swallows Landing.)"
## [106] "Large branch has fallen or been cut from arbutus # 108. Sawn up pieces have been left in situ in a rich Fawn lily area (presumably by Esquimalt arborist). Some further cleanup would be desirable. "
## [107] "25 Sept 2024 "
## [108] "No work performed on this date - inclement weather."
## [109] "18 September 2024"
## [110] "Statistics: "
## [111] "Hours worked this date: 9.5 "
## [112] "(Allan, Roger, Robbie, Mike)"
## [113] "Hours worked year to date: 430.0"
## [114] "Cu. yds biomass rmvd this date: 2.0"
## [115] "Cu. yds biomass rmvd year to date: 86.0"
## [116] "Sq. yds. worked this date: 55.0"
## [117] "Sq. yds. worked year to date: 4324.0"
## [118] "Work Activities:"
## [119] "Mainly ivy and blackberry, some holly, hemlock and daphne cleared from zone 3.1."
## [120] "A volume of garbage removed from across the site."
## [121] "Noticed damage to mosses and licorice ferns on rocky bald in Zone 3.1. The damage appears to be caused by people clambering up or down steep rock faces to gain access to the rocky bald."
## [122] "Observations:"
## [123] "Garbage volumes appear on the rise."
## [124] "Miscellaneous and Action Items:"
## [125] "There is a need to produce and plant more oak seedlings across the site due to the number of trees evidencing oak bracket."
## [126] "Potential work party from a local company to assist in site management Wednesday, 24th."
## [127] "11 September 2024"
## [128] "Statistics: "
## [129] "Hours worked this date: 11.5"
## [130] "(Roger, Allan, Eva, Mike)"
## [131] "Hours worked year to date: 420.5 "
## [132] "Cu. yds biomass rmvd this date: 2.0"
## [133] "Cu. yds biomass rmvd year to date: 84.0"
## [134] "Sq. yds. worked this date: 65.0"
## [135] "Sq. yds. worked year to date: 4269.0"
## [136] "Work Activities:"
## [137] "Ivy, blackberry, some grasses, cleared from zone 3.1."
## [138] "Further Oak Bracket identified on numerous Oaks by Roger."
## [139] "West side IP marker located/identified by Roger."
## [140] "Considerable garbage removal from zone 3.1 this week."
## [141] "Observations:"
## [142] "Significant inroads being made with ivy and blackberry eradication in zone 3.1 now, however it has become obvious this will be an on-going challenge for a number of years.."
## [143] "Miscellaneous and Action Items:"
## [144] "Hawthorne branches are still to be cut and removed."
## [145] "Due to significant occurrences of Oak Bracket across the site, the importance of planting oak seedlings is increasing."
## [146] "4 September 2024"
## [147] "Statistics: "
## [148] "Hours worked this date: 18.5 (Allan, Roger, Eva, Robbie, Peter, Mike)"
## [149] "Hours worked year to date: 408.5"
## [150] "Cu. yds biomass rmvd this date: 4.0"
## [151] "Cu. yds biomass rmvd year to date: 82.0"
## [152] "Sq. yds. worked this date: 45.0"
## [153] "Sq. yds. worked year to date: 4204.0"
## [154] "Work Activities:"
## [155] "Ivy, blackberry, thistle, daphne, some grasses, from zones 2.1 & 3.1."
## [156] "2 hawthorne trees removed from zones 5.1 & 3.1."
## [157] "Roger and Peter completed tree tag assessment, (possibly one or two remaining)."
## [158] "A number of enclosures received watering."
## [159] "On-going garbage removal."
## [160] "Observations:"
## [161] "One or more tagged trees require additional maintenance since the bole has grown around the tag."
## [162] "Significant new fern growth, especially in zone 3.1."
## [163] "Miscellaneous and Action Items:"
## [164] "Hawthorne branches to be cut and removed."
## [165] "28 August 2024"
## [166] "Statistics: "
## [167] "Hours worked this date: ?"
## [168] "Hours worked year to date: "
## [169] "Cu. yds biomass rmvd this date: "
## [170] "Cu. yds biomass rmvd year to date: "
## [171] "Sq. yds. worked this date: "
## [172] "Sq. yds. worked year to date: "
## [173] "Work Activities:"
## [174] "Observations:"
## [175] "Miscellaneous and Action Items:"
## [176] "21 August 2024"
## [177] "Statistics: "
## [178] "Hours worked this date: ?"
## [179] "Hours worked year to date: "
## [180] "Cu. yds biomass rmvd this date: "
## [181] "Cu. yds biomass rmvd year to date: "
## [182] "Sq. yds. worked this date: "
## [183] "Sq. yds. worked year to date: "
## [184] "Work Activities:"
## [185] "Observations:"
## [186] "Miscellaneous and Action Items:"
## [187] "14 August 2024"
## [188] "Statistics: "
## [189] "Hours worked this date: 14.5"
## [190] "(Roger, Allen, Eva, Bruce, Mike)"
## [191] "Hours worked year to date: 390.0"
## [192] "Cu. yds biomass rmvd this date: 1.5"
## [193] "Cu. yds biomass rmvd year to date: 78.0"
## [194] "Sq. yds. worked this date: 24.0"
## [195] "Sq. yds. worked year to date: 4159.0"
## [196] "Work Activities:"
## [197] "Roger and Peter completed west of the staircase field work this week, with the aim to update the 2016 Matson site tree survey."
## [198] "Removed blackberry, thistle, ivy from the bottom of zone 2.1."
## [199] "Removed mainly ivy from lower zone 3.1."
## [200] "Further removal of grasses from test patch in zone 3.1."
## [201] "Observations:"
## [202] "A number of healthy oaks were identified as not tagged during the original 1996 survey, perhaps being too young at the time."
## [203] "The tree survey determined the aluminum nails, used to afix the ID tags to the trees, need to be backed off on a tighter schedule, perhaps every 5 or 6, rather than 8, years. This is due to the high rate of trunk circumference growth in many cases."
## [204] "A potentially deadly fungus, Roger has identified as oak bracket, has been found at the base of at least one oak in the meadow. "
## [205] "Tree #76 has been identified as a possible impact danger/hazard due to failing health. "
## [206] "Significant ivy roots are still being removed from lower zone 3.1."
## [207] "Miscellaneous and Action Items:"
## [208] "Further study and possible remediation action necessary to address the black fungus identified as oak bracket."
## [209] "Tree #76, and a few others, need more detailed study, with a decision on whether direct action for removal is required."
## [210] "07 August 2024"
## [211] "Statistics: "
## [212] "Hours worked this date: 16.0 "
## [213] "(Robbie, Allan, Roger, Eva, Bruce, Mike)"
## [214] "Hours worked year to date: 375.5"
## [215] "Cu. yds biomass rmvd this date: 2.0"
## [216] "Cu. yds biomass rmvd year to date: 76.5"
## [217] "Sq. yds. worked this date: 30.0"
## [218] "Sq. yds. worked year to date: 4135.0 "
## [219] "Work Activities:"
## [220] "Mostly removed grasses in a specific zone 3.1 area."
## [221] "Roger started updating 2016 tree survey (25% complete)."
## [222] "Newly found scottish broom removed."
## [223] "Pruned overreaching foliage blocking saplings on east side, particularly above 2 Scouler willows affected by a recent tree fall."
## [224] "Continued removal of creeping buttercup and blackberry from Zone 2.1."
## [225] "Further sedge cut back in zone 3.1."
## [226] "Further watering of enclosures."
## [227] "Observations:"
## [228] "Two newly rooted acorns located in zone 3.1."
## [229] "Garbage sweep - no significant new garbage."
## [230] "Esquimalt DPW picked up biomass pile on 8 Aug."
## [231] "Two Cooper’s hawks flying in unison."
## [232] "Miscellaneous and Action Items:"
## [233] "Plan to cover designated area noted above, approximately 3x4 meters with black moisture resistant matting, in order to sterilize the patch. This area will then be seeded with a variety of recovered seeds by Roger (see July, 24), from across the site, in the spring. "
## [234] "31 July 2024"
## [235] "Statistics: "
## [236] "Hours worked this date: 15.0 "
## [237] "(Allan, Roger, Eva, Bruce, Mike)"
## [238] "Hours worked year to date: 359.5"
## [239] "Cu. yds biomass rmvd this date: 2.5"
## [240] "Cu. yds biomass rmvd year to date: 74.5"
## [241] "Sq. yds. worked this date: 180.0"
## [242] "Sq. yds. worked year to date: 4105.0"
## [243] "Work Activities:"
## [244] "Mainly removing blackberry, ivy from zones 2.1 & 3.1."
## [245] "Cleared resurgent blackberry stolons below the end of Garrett Place. "
## [246] "Cleared broom, Canada thistle, spurge, laurel daphne, etc. from east side (Zones 3.1 and adjacent Esquimalt land.)"
## [247] "Some watering of enclosures."
## [248] "Observations:"
## [249] "Except for small stream running through zones 2.1 & 3.1, the Matson site is extremely dry at this point."
## [250] "Roger sighted some Fringecup survivors above the storm drain discharge pipe."
## [251] "There were still five robust broom plants growing near base of staircase."
## [252] "Miscellaneous and Action Items:"
## [253] "Will continue removing ivy from zone 3.1, until no longer in evidence."
## [254] "Roger states some numbered tree tags need adjustment to back off nails and compensate for girth increase. To be planned."
## [255] "Max suggested revisiting the tree survey. Peter Pinfold will assist Roger with the resurvey this month."
## [256] "24 July 2024"
## [257] "Statistics: "
## [258] "Hours worked this date: 12.0"
## [259] "(Roger, Allan, Eva, Mike)"
## [260] "Hours worked year to date: 334.5"
## [261] "Cu. yds biomass rmvd this date: 3.0"
## [262] "Cu. yds biomass rmvd year to date: 72.0"
## [263] "Sq. yds. worked this date: 280.0"
## [264] "Sq. yds. worked year to date: 3925.0"
## [265] "Work Activities:"
## [266] "Max and HAT work crew on site to familiarize and assist invasive removal, mainly hanging sedge, from wet regions of zone 2.1. Also assisted in the removal of new ivy, blackberry, daphne from zone 3.1."
## [267] "Eva removed invasives from zones 1.1 & 1.3."
## [268] "Roger harvested seeds from camas, red columbine, bare-stem desert-parsley, and distributed water to stressed shrubs and saplings on site east side."
## [269] "Observations:"
## [270] "East side run-off creating new water channel/direction."
## [271] "Ground and shrubs, away from east-side run-off regions, becoming extremely dry."
## [272] "Roger considering establishing a mixed-seed growing area for gathered seeds."
## [273] "Miscellaneous and Action Items:"
## [274] "A need to address sedge much earlier next year since it’s seed spread and resulting growth exploded this year. The removal at this time is also resulting in excess soil loss."
## [275] "Knee pad supply again in good shape."
## [276] "HAT work crew scheduled for on-site Thursday also."
## [277] "17 July 2024"
## [278] "Statistics: "
## [279] "Hours worked this date: 15.0"
## [280] "(Allan, Roger, Eva, Bruce, Mike)"
## [281] "Hours worked year to date: 322.5"
## [282] "Cu. yds biomass rmvd this date: 2.5"
## [283] "Cu. yds biomass rmvd year to date: 69.0"
## [284] "Sq. yds. worked this date: 35.0"
## [285] "Sq. yds. worked year to date: 3645.0"
## [286] "Work Activities:"
## [287] "Mainly ivy from zones 1.1 & 3.1."
## [288] "Hanging Sedge from lower wet area of zone 2.1."
## [289] "Observations:"
## [290] "Possible a Douglas Fir in zone 3.2 is leaning further north than in prior years - to be monitored more closely."
## [291] "Roger concerned new growths in zone 3.1 may be as a result of that which is being washed down in run-off. Greater effort to remove all invasives from zone 2.1 could be beneficial."
## [292] "Roger observed two racoons w 4 kits in upper meadow of zone 1.1."
## [293] "Miscellaneous and Action Items:"
## [294] "A few more enclosures to be cleared."
## [295] "No spare knee pads available."
## [296] "Large root clumps and leaves being composted in dry region of zone 2.1."
## [297] "10 July 2024"
## [298] "Statistics: "
## [299] "Hours worked this date: 12.0"
## [300] "(Allan, Roger, Eva, Mike)"
## [301] "Hours worked year to date: 307.5"
## [302] "Cu. yds biomass rmvd this date: 2.0"
## [303] "Cu. yds biomass rmvd year to date: 66.5"
## [304] "Sq. yds. worked this date: 190.0"
## [305] "Sq. yds. worked year to date: 3610.0"
## [306] "Work Activities:"
## [307] "Removed sedge from zones 2.1/3.1."
## [308] "Removed various invasives from zone 1.3."
## [309] "Removed new ivy, daphne, blackberry, some grasses, from zone 3.1."
## [310] "Observations:"
## [311] "An additional new growth Gary Oak identified. This brings the count to 5, and counting, over the past month."
## [312] "A few additional enclosures in zones 3.1 & 3.3 still to be cleared."
## [313] "Miscellaneous and Action Items:"
## [314] "Knee pad supply has reached zero."
## [315] "03 July 2024"
## [316] "Statistics: "
## [317] "Hours worked this date: 13.0 "
## [318] "(Allan, Roger, Robbie, Eva, Mike)"
## [319] "Hours worked year to date: 295.5"
## [320] "Cu. yds biomass rmvd this date: 2.5"
## [321] "Cu. yds biomass rmvd year to date: 64.5"
## [322] "Sq. yds. worked this date: 245.0"
## [323] "Sq. yds. worked year to date: 3420.0 "
## [324] "Work Activities:"
## [325] "Max visited to conduct a status and planning update."
## [326] "Sedge removed from zone 3.1 lower creek area."
## [327] "On-going removal of invasives as identified from zone 1.1."
## [328] "Zone 3.1 removal of new blackberry, thistles, morning glory, ivy, orchard grass, and extensive cleaver growth."
## [329] "On-going maintenance of grasses, etc., from smaller, distributed, enclosures."
## [330] "Observations:"
## [331] "Note: A number of bur churvil growth areas located under grasses and blackberry in mid zone 3.1. Noted for Winter removal."
## [332] "26 June 2024"
## [333] "Statistics: "
## [334] "Hours worked this date: 9.0"
## [335] "(Roger, Eva, Mike)"
## [336] "Hours worked year to date: 282.5"
## [337] "Cu. yds biomass rmvd this date: 1.0"
## [338] "Cu. yds biomass rmvd year to date: 62.0"
## [339] "Sq. yds. worked this date: 130.0"
## [340] "Sq. yds. worked year to date: 3175.0"
## [341] "Work Activities:"
## [342] "Clearing thistle, blackberry from zone 3.1."
## [343] "Clear blackberry from zone 4.1."
## [344] "Clear grasses+ from enclosures in zones 4.1 & 1.2."
## [345] "Observations:"
## [346] "Grasses and thistles growing on steroids this year."
## [347] "Snowberry and water parsnip located."
## [348] "Enclosed ocean spray appears very healthy."
## [349] "Miscellaneous and Action Items:"
## [350] "Roger found water parsnip in zone 4.1 enclosure. Hopes are to move them to a more conducive location. "
## [351] "Roger started a "
## [352] "19 June 2024"
## [353] "Statistics: "
## [354] "Hours worked this date: 15.0"
## [355] "(Allan, Roger, Eva, Bruce, Mike)"
## [356] "Hours worked year to date: 273.5"
## [357] "Cu. yds biomass rmvd this date: 2.5"
## [358] "Cu. yds biomass rmvd year to date: 61.0"
## [359] "Sq. yds. worked this date: 340.0"
## [360] "Sq. yds. worked year to date: 3045.0"
## [361] "Work Activities:"
## [362] "Removed blackberry and ivy from zone large enclosure in zone 1.2."
## [363] "Removed grasses, other invasives from in and around enclosures across site."
## [364] "Removed orchard grass when discovered."
## [365] "Observations:"
## [366] "Blackberry regrowing quickly in zone 2.1."
## [367] "Found a few new garry oak seedlings growing in enclosures."
## [368] "Miscellaneous and Action Items:"
## [369] "12 June 2024"
## [370] "Statistics: "
## [371] "Hours worked this date: 0"
## [372] "Hours worked year to date: 258.5"
## [373] "Cu. yds biomass rmvd this date: 0"
## [374] "Cu. yds biomass rmvd year to date: 58.5"
## [375] "Sq. yds. worked this date: 0"
## [376] "Sq. yds. worked year to date: 2705.0"
## [377] "Work Activities:"
## [378] "Swallows Strata Council meeting held on this date."
## [379] "Observations:"
## [380] "Miscellaneous and Action Items:"
## [381] "05 June 2024"
## [382] "Statistics: "
## [383] "Hours worked this date: 15.0"
## [384] "(Allan, Roger, Eva, Bruce, Mike)"
## [385] "Hours worked year to date: 258.5"
## [386] "Cu. yds biomass rmvd this date: 1.0"
## [387] "Cu. yds biomass rmvd year to date: 58.5"
## [388] "Sq. yds. worked this date: 190.0"
## [389] "Sq. yds. worked year to date: 2705.0"
## [390] "Work Activities:"
## [391] "Removed new ivy & blackberry from zone 3.1."
## [392] "Removed grasses + from in and around cages across site."
## [393] "Removed mustard seed, blackberry from top of zone 2.1."
## [394] "Observations: "
## [395] "New ivy, blackberry across many zones."
## [396] "Some wind blowdown tree trunks and branches will need to be cut back due to their impact on surrounding plants."
## [397] "Miscellaneous and Action Items:"
## [398] "Will continue removing new ivy and blackberry across site."
## [399] "Will continue removing grasses and blowdowns from cages."
## [400] "Will procure and distribute wood chips to all cages."
## [401] "29 May 2024"
## [402] "Statistics: "
## [403] "Hours worked this date: 12.0"
## [404] "(Allan, Eva, Bruce, Mike)"
## [405] "Hours worked year to date: 243.5"
## [406] "Cu. yds biomass rmvd this date: 2.0"
## [407] "(Incl. 3 large garbage bags bur chervil)"
## [408] "Cu. yds biomass rmvd year to date: 57.5"
## [409] "Sq. yds. worked this date: 220.0"
## [410] "Sq. yds. worked year to date: 2515.0"
## [411] "Work Activities:"
## [412] "Removed extensive volumes of bur chervil from the west quadrant, including zones 2.1, 4.1, 4.3, along with some from within the large enclosure. "
## [413] "In addition, new ivy and blackberry was removed from zones 4.1 & 4.3."
## [414] "Other invasives such as mustard, toad flax, daphne, cleaver, etc., removed as identified."
## [415] "Observations:"
## [416] "There was still little evidence of the bur chervil going to seed, so we took one more effort to remove site-wide. There will certainly be some missed, but for much of the site, bur chervil is no longer readily evident."
## [417] "Miscellaneous and Action Items:"
## [418] "Blackberry to be removed from large enclosure."
## [419] "New blackberry, ivy, etc., to be removed from 3.1."
## [420] "Grasses, etc., to be removed from in, and around, cages."
## [421] "Further discussion needed on how to approach removal of invasive grasses site-wide. They are so prolific at this point, there has been discussion it may be best to wait for autumn."
## [422] "22 May 2024"
## [423] "Statistics: "
## [424] "Hours worked this date: 12.0 "
## [425] "(Allan, Roger, Bruce, Mike)"
## [426] "Hours worked year to date: 231.5"
## [427] "Cu. yds biomass rmvd this date: 1.5"
## [428] "(Incl. 2 large garbage bags bur chervil)"
## [429] "Cu. yds biomass rmvd year to date: 55.5"
## [430] "Sq. yds. worked this date: 155.0"
## [431] "Sq. yds. worked year to date: 2295.0"
## [432] "Work Activities:"
## [433] "Revisited newly evident blackberry, daphne, ivy, etc., mostly in zones 3.2 & 3.3."
## [434] "15 May 2024"
## [435] "Statistics: "
## [436] "Hours worked this date: 14.0"
## [437] "(Allan, Roger, Eva, Mike, Bruce)"
## [438] "Hours worked year to date: 219.5"
## [439] "Cu. yds biomass rmvd this date: 1.5"
## [440] "Cu. yds biomass rmvd year to date: 54.0"
## [441] "Sq. yds. worked this date: 120.0"
## [442] "Sq. yds. worked year to date: 2140.0"
## [443] "Work Activities:"
## [444] "Met with Max & Loren to discuss forward plans."
## [445] "Continued the removal of bur chervil from zones 1.1 & 1.2."
## [446] "Thistle removed from zone 3.2."
## [447] "Some grasses removed from cages in zone 2.1."
## [448] "Observations:"
## [449] "May have one more week for bur chervil removal before it goes to seed - (have black bags now for safer disposal)."
## [450] "Miscellaneous and Action Items:"
## [451] "Will continue with bur chervil for as long as possible, then continue removing grasses, first from cages, then on a prioritized zone basis."
## [452] "HAT to look into scheduling a second herbicide treatment below Garbally."
## [453] "8 May 2024"
## [454] "Statistics: "
## [455] "Hours worked this date: 12.0"
## [456] "(+35 min. planning session w Roger, Allan, Eva, Bruce, Mike)"
## [457] "Hours worked year to date: 205.5 "
## [458] "Cu. yds biomass rmvd this date: 1.5"
## [459] "Cu. yds biomass rmvd year to date: 52.5"
## [460] "Sq. yds. worked this date: 240.0 Sq. yds. worked year to date: 2020.0"
## [461] "Work Activities:"
## [462] "Mainly continued the removal of bur chervil from zones 1.1 & 1.3. "
## [463] "Scottish broom removed from zone 1.1/1.2."
## [464] "Observations:"
## [465] "Hope to have one to two weeks more to continue removal of bur chervil before it goes to seed."
## [466] "The removal of grasses will start in late May/early June."
## [467] "Miscellaneous and Action Items:"
## [468] "Planning session notes:"
## [469] "The HAT planning draft was well received and should become a very useful guide as further details on invasives’ removal per season, or month, become added."
## [470] "There was a question on whether new plantings should be added to the plan timetable?"
## [471] "There was a follow-up question on whether a recommended new plant watering guide, especially for dry months, could be added to help new plantings flourish?"
## [472] "There was a question that since it is sometimes very difficult to identify an invasive e.g. grasses, geraniums, etc., would it be possible for HAT to provide invasive images in plastic tabs on a ring for the field?"
## [473] "Roger volunteered to research a forward plan for Matson invasive grass removal."
## [474] "Allan has agreed to be the Matson crew lead while in Victoria. He will work with Roger and HAT to help next steps planning in the removal of grasses."
## [475] "HAT requested Matson consider starting the use of an Excel program to record field work activity. This was discussed and agreed to until it was realized that importing/exporting from Numbers would be necessary by most crew members. Since the Field Log works very well for its purpose, it was decided it would be best to continue its use at this time."
## [476] "A request was made to remove grasses from cages, as they are choking out new plantings. This is scheduled for next week."
## [477] "Based on the planning document for the Matson site, focus will soon move to grasses, starting in zones 1.1 thru 1.3. Other invasives will be removed as necessary."
## [478] "1 May 2024"
## [479] "Statistics: "
## [480] "Hours worked this date: 10.0"
## [481] "Hours worked year to date: 193.5 "
## [482] "Cu. yds biomass rmvd this date: 1.0"
## [483] "Cu. yds biomass rmvd year to date: 51.0"
## [484] "Sq. yds. worked this date: 600.0 (on bur chervil, north zone 1.1 & 3.2. Other invasives when identified)."
## [485] "Sq. yds. worked year to date: 1782.0"
## [486] "Work Activities:"
## [487] "Focus on bur chervil, but on an as identified basis, blackberry, daphne, geraniums, thistle, cleaver, Scottish broom, removed."
## [488] "Peter Pinfold conducted photo monitoring efforts on the site."
## [489] "Observations:"
## [490] "Widespread and varied geraniums found in zone 1.1."
## [491] "24 Apr 2024"
## [492] "Statistics: "
## [493] "Hours worked this date: 11.0"
## [494] "Hours worked year to date: 183.5"
## [495] "Cu. yds biomass rmvd this date: 2.5"
## [496] "Cu. yds biomass rmvd year to date: 50.0"
## [497] "Sq. yds. worked this date: 600.0 (on bur chervil), 25.0 (on scotch broom)"
## [498] "Sq. yds. worked year to date: 1182.0"
## [499] "Work Activities:"
## [500] "Primarily removed bur chervil from upper zone 1.1, and from zone 1.2 from staircase west to tree 117 and upper wall south to tree 113. Removed large and small scotch broom bushes from near bottom of staircase."
## [501] "Observations:"
## [502] "Camas are in full bloom so did not go south of tree 113. Will need to address bur chervil south of here when wild flowers dissipate. "
## [503] "More scotch broom and new daphne in zones 1.1 and 3.3 to be removed."
## [504] "17 Apr 2024"
## [505] "Statistics: "
## [506] "Hours worked this date: 9.0"
## [507] "Hours worked year to date: 172.5"
## [508] "Cu. yds biomass rmvd this date: 2.0"
## [509] "Cu. yds biomass rmvd year to date: 47.5"
## [510] "Sq. yds. worked this date: 44.0"
## [511] "Sq. yds. worked year to date: 582.0"
## [512] "Work Activities:"
## [513] "Removed bur cherval from zones 3.1 & 3.3."
## [514] "Removed new pockets of blackberry, ivy and daphne from zones 3.1 & 3.2, as they become evident."
## [515] "Removed large volumes of daphne from the pathway, south of zones 3.1 and 3.3. There is no longer evidence of daphne abuting the southern portion of Matson, at this time, however there are considerable quantities of new growth daphne plants within zones 3.1 & 3.3."
## [516] "Observations:"
## [517] "While Camas is currently growing in abundance across the meadow, the density of growth, within the zone 1.2 enclosure, is considerably higher."
## [518] "Miscellaneous and Action Items:"
## [519] "The plan is to continue removing bur cherval and orchard grass across the site. Blackberry, ivy, daphne, scotch broom and thistles will continue to be removed as necessary. "
## [520] "10 Apr 2024"
## [521] "Statistics: "
## [522] "Hours worked this date: 9.0 "
## [523] "Hours worked year to date: 163.5"
## [524] "Cu. yds biomass rmvd this date: 1.0"
## [525] "Cu. yds biomass rmvd year to date: 45.5 "
## [526] "Sq. yds. worked this date: 48.0"
## [527] "Sq. yds. worked year to date: 538.0"
## [528] "Work Activities:"
## [529] "Removed bur chervil from zones 3.2, 3.3, & 3.4."
## [530] "Removed new daphne, broom and ivy from zones 3.3 & 3.4."
## [531] "Observations:"
## [532] "There are large outgrowths of daphne across the seawalk from zones 3.2 & 3.3. This will be dealt with on April 17th."
## [533] "03 Apr 2024"
## [534] "Statistics: "
## [535] "Hours worked this date: 0"
## [536] "Hours worked year to date: 154.5"
## [537] "Cu. yds biomass rmvd this date: 0"
## [538] "Cu. yds biomass rmvd year to date: 44.5"
## [539] "Sq. yds. worked this date: 0"
## [540] "Sq. yds. worked year to date: 490.0"
## [541] "Work Activities:"
## [542] "No work party on this day."
## [543] "27 Mar 2024"
## [544] "Statistics: "
## [545] "Hours worked this date: 4.0"
## [546] "Hours worked year to date: 154.5"
## [547] "Cu. yds biomass rmvd this date: 0.5"
## [548] "Cu. yds biomass rmvd year to date: 44.5"
## [549] "Sq. yds. worked this date: 15.0"
## [550] "Sq. yds. worked year to date: 490.0"
## [551] "Work Activities:"
## [552] "Removed bur chervil from the west side of the staircase, zone 1.2."
## [553] "Observations:"
## [554] "Lots of bur chervil removed but lots more evident in many areas of Matson."
## [555] "Miscellaneous and Action Items:"
## [556] "Continue on the bur chervil, also new ivy and daphne in zone 1.1."
## [557] "20 Mar 2024"
## [558] "Statistics:"
## [559] "Hours worked this date: 9.5 "
## [560] "Hours worked year to date: 150.5 "
## [561] "Cu. yds biomass rmvd this date: 0.4 "
## [562] "Cu. yds biomass rmvd year to date: 44.0"
## [563] "Sq. yds. worked this date: 75.0"
## [564] "Sq. yds. worked year to date: 475.0"
## [565] "Work Activities:"
## [566] "Continued pulling mainly bur chervil; Roger checked on planted trees and shrubs and cleared grass. "
## [567] "At this point cleared up to tree 333 from top to bottom "
## [568] "Bruce 3 hrs; Eva 3 hrs; Robbie 1.5 hrs; Roger 2 hrs"
## [569] "13 Mar 2024 "
## [570] "Statistics"
## [571] "Hours worked this date: 6.0 "
## [572] "Hours worked year to date: 141"
## [573] "Cu. yds biomass rmvd this date: 0.3"
## [574] "Cu. yds biomass rmvd year to date: 43.6"
## [575] "Sq. yds. worked this date: 100.0"
## [576] "Sq. yds. worked year to date: 400.0"
## [577] "Work Activities:"
## [578] "Continued clearing (mainly) bur chervil from zones 4.2 and 4.3."
## [579] "06 Mar 2024"
## [580] "Statistics: "
## [581] "Hours worked this date: 7.0 "
## [582] "Hours worked year to date: 135.0"
## [583] "Cu. yds biomass rmvd this date: 0.3 "
## [584] "Cu. yds biomass rmvd year to date: 43.3"
## [585] "Sq. yds. worked this date: 225.0 "
## [586] "Sq. yds. worked year to date: 300.0"
## [587] "Work Activities:"
## [588] "Cleared bur chervil in zones 4.2,4.3,and 4.1 from Tree #25 to Tree #59. Will continue moving eastward. Bruce- 3 hrs; Eva 3 hrs; "
## [589] "28 Feb 2024"
## [590] "Statistics: "
## [591] "Hours worked this date: 12.0"
## [592] "Hours worked year to date: 128.0"
## [593] "Cu. yds biomass rmvd this date: 9.0"
## [594] "Cu. yds biomass rmvd year to date: 43.0"
## [595] "Sq. yds. worked this date: 32.0"
## [596] "Sq. yds. worked year to date: 75.0"
## [597] "Work Activities:"
## [598] "Cleared remaining ivy lying throughout lawn in northwest corner."
## [599] "Removed bur chervil from near staircase."
## [600] "Removed more ivy in southeast corner of site."
## [601] "21 Feb 2024"
## [602] "Statistics: "
## [603] "Hours worked this date: 9.0"
## [604] "Hours worked year to date: 116.0"
## [605] "Cu. yds biomass rmvd this date: 6.0"
## [606] "Cu. yds biomass rmvd year to date: 34.0"
## [607] "Sq. yds. worked this date: 15.0"
## [608] "Sq. yds. worked year to date: 43.0"
## [609] "Work Activities:"
## [610] "Continued clearing, mainly ivy and blackberry, beyond tree tag #15 in the northwest corner. Also started clearing ivy lying throughout lawn in northwest corner."
## [611] "Observations:"
## [612] "bur chervil growing in lawn, also poison hemlock. "
## [613] "14 Feb 2024"
## [614] "Statistics: "
## [615] "Hours worked this date: 12.0"
## [616] "Hours worked year to date: 107.0"
## [617] "Cu. yds biomass rmvd this date: 7.0"
## [618] "Cu. yds biomass rmvd year to date: 28.0"
## [619] "Sq. yds. worked this date: 28.0"
## [620] "Sq. yds. worked year to date: 28.0"
## [621] "Work Activities:"
## [622] "Continued clearing, mainly ivy and blackberry, beyond tree tag #15 in the northwest corner."
## [623] "Observations:"
## [624] "Ivy covering lawn in this area is not firmly rooted and therefore, for the most part, not difficult to remove."
## [625] "Miscellaneous and Action Items:"
## [626] "On-going discussions on, to what extent should Matson Matocks be continuing remediation in this area."
## [627] "07 Feb 2024"
## [628] "Statistics: "
## [629] "Hours worked this date: 6.0"
## [630] "Hours worked year to date: 95.0"
## [631] "Cu. yds biomass rmvd this date: 4.0 "
## [632] "Cu. yds biomass rmvd year to date: 21.0"
## [633] "Work Activities:"
## [634] "Continued clearing of ivy and blackberry, now to just beyond tree tag #15 in Zone 4.2, the northwest corner."
## [635] "Observations:"
## [636] "There is a lot of ivy throughout the grass lawn between tree tag #15 and the Swallows west most wall."
## [637] "Miscellaneous and Action Items:"
## [638] "At least one more week of clean-up in the slope region of tree tags #15 & 16. "
## [639] "A plan to address the ivy growing throughout the grass lawn above the slope may be necessary."
## [640] "31 Jan 2024"
## [641] "Statistics: "
## [642] "Hours worked this date: 0"
## [643] "Hours worked year to date: 89.0"
## [644] "Cu. yds biomass rmvd this date: 0"
## [645] "Cu. yds biomass rmvd year to date: 17.0"
## [646] "Work Activities:"
## [647] "Canceled due to wind."
## [648] "24 Jan 2024"
## [649] "Statistics: "
## [650] "Hours worked this date: 0"
## [651] "Hours worked year to date: 89.0"
## [652] "Cu. yds biomass rmvd this date: 0"
## [653] "Cu. yds biomass rmvd year to date: 17.0"
## [654] "Work Activities:"
## [655] "Canceled based on wind predictions and rain."
## [656] "17 Jan 2024"
## [657] "Statistics: "
## [658] "Hours worked this date: 0"
## [659] "Hours worked year to date: 89.0"
## [660] "Cu. yds biomass rmvd this date: 0"
## [661] "Cu. yds biomass rmvd year to date: 17.0"
## [662] "Work Activities:"
## [663] "Snow and low temperatures. No work party."
## [664] "10 Jan 2024 "
## [665] "Statistics: "
## [666] "Hours worked this date: 9.0"
## [667] "Hours worked year to date: 89.0"
## [668] "Cu. yds biomass rmvd this date: 3.0"
## [669] "Cu. yds biomass rmvd year to date: 17.0"
## [670] "Work Activities:"
## [671] "Continued clearing of ivy and blackberry leading up to tree tag #16 in Zone 4.2 of the Matson site."
## [672] "Observations:"
## [673] "A flowerbed was planted at some point on the slope leading into tree tags #16 & #15. We have removed some bulbs that were identifiable, but more remain. Further review warranted when plants begin to flower."
## [674] "Miscellaneous and Action Items:"
## [675] "We will likely reach tree tag #15, the northwestern boundary of the Matson site, within our next two crew outings."
## [676] "3 Jan 2024 "
## [677] "Statistics:"
## [678] "Hours worked this date: 14.0"
## [679] "Hours worked year to date: 80.0"
## [680] "Cu. yds of biomass rmvd on this day: 4.0"
## [681] "Cu. yds of biomass rmvd year to date: 14.0"
## [682] "Work Activities:"
## [683] "Continued clearing ivy and occasional blackberry from upper west side. The cleared area has now reached, or in some places crossed, the boundary with Swallows Landing Strata."
## [684] "Removed 4 trampled and overgrown cages on east side. These cages were installed in the hope of protecting checker lily and shooting star plants. It is felt that the cages do more harm than good."
## [685] "Observations:"
## [686] "The Matson woodlands provide habitat for large numbers (hundreds) of small birds (Juncos and others) at this time of year.."
## [687] "Miscellaneous and Action Items:"
## [688] "A number of small poison hemlock plants are emerging on the west side of strata property."
## [689] "20 Dec 2023 "
## [690] "Statistics:"
## [691] "Hours worked this date:9.0"
## [692] "Hours worked year to date:66.0"
## [693] "Cu. yds of biomass rmvd on this date:3.0"
## [694] "Cu. yds of biomass rmvd year to date:10.0"
## [695] "Work Activities:"
## [696] "Continued clearing ivy from far west side."
## [697] "13 Dec 2023 "
## [698] "Statistics:"
## [699] "Hours worked this date:14.0"
## [700] "Hours worked year to date:57.0"
## [701] "Cu. yds of biomass rmvd on this date:2.0"
## [702] "Cu. yds of biomass rmvd year to date:7.0"
## [703] "Work Activities:"
## [704] "Continued ivy removal on west margin."
## [705] "Maintenance in east woodlands and buttercup removal in wet area."
## [706] "Miscellaneous and Action Items:"
## [707] "Accompanied Max Mitchell to geo-locate areas with plant species of interest."
## [708] "Reviewed recent damage to west meadow exclosure. Temporary exclosure will be repaired. HAT will investigate a longer term solution with more durable fence."
## [709] "Well established Montia plants on small rocky outcrop near tree #200 have been almost completely destroyed, presumably by racoons, after the overgrown low wire cage was removed. "
## [710] "6 Dec 2023 "
## [711] "Statistics:"
## [712] "Hours worked this date:12"
## [713] "Hours worked year to date:43.0"
## [714] "Cu. yds of biomass rmvd on this date:3.0"
## [715] "Cu. yds of biomass rmvd year to date:5.0"
## [716] "Work Activities:"
## [717] "Cleared ivy from new area on the far west side in the area around trees # 17 thru’ 26."
## [718] "Continued maintenance in upper east woodlands."
## [719] "Miscellaneous and Action Items:"
## [720] "No work performed on 8 or 29 Nov."
## [721] "22 Nov 2023 "
## [722] "Statistics:"
## [723] "Hours worked this date:6.0"
## [724] "Hours worked year to date:31.0"
## [725] "Cu. yds of biomass rmvd on this date:0"
## [726] "Cu. yds of biomass rmvd year to date:2.0"
## [727] "Work Activities:"
## [728] "Maintained assorted protective cages in NE corner. Some cages removed or replaced where appropriate. "
## [729] "Observations:"
## [730] "Yerba buena, kinnikinnick have survived just barely in one location only. Broad leaf stonecrop, montia, hairy honeysuckle, rattlesnake plantain seem well established in multiple locations. "
## [731] "Extremely wet on the east side because of storm drainage - at least one sword fern has succumbed due to waterlogged ground."
## [732] "15 Nov 2023 "
## [733] "Statistics:"
## [734] "Hours worked this date:11.0"
## [735] "Hours worked year to date:25.0"
## [736] "Cu. yds of biomass rmvd on this date:0"
## [737] "Cu. yds of biomass rmvd year to date:2.0"
## [738] "Work Activities:"
## [739] "Planted red osier dogwood (2), black twin berry (2), sword ferns (10), large leaved avens, self-heal, fringecup, yampah, sedges and grasses provide by HAT. (In conjunction with HAT staff and Abby from Satinflower)."
## [740] "HAT staff also used weed-wacker in east meadow to remove thatch and spread mixed bulk wildflower seeds."
## [741] "Constructed additional cages for shrubs from 48” wire mesh. Shrubs above also caged for deer protection."
## [742] "Substantially completed ivy clearance from SE corner. Dense ivy cover now remains only on the west side in the far NW and SW corners."
## [743] "Continued general maintenance in NE quadrant."
## [744] "Observations:"
## [745] "Purple Jellydisc, Turkey Tail and False Turkey Tail fungi observed on logs from fallen garry oak."
## [746] "1 Nov 2023 "
## [747] "Statistics:"
## [748] "Hours worked this date:14.0"
## [749] "Hours worked year to date:14.0"
## [750] "Cu. yds of biomass rmvd on this date:2.0"
## [751] "Cu. yds of biomass rmvd year to date:2.0"
## [752] "Work Activities:"
## [753] "Continued clearing ivy from SE corner adjacent to walkway."
## [754] "Preparation of wet area on east side ready to receive plants next week."
## [755] "Manufactured wire mesh cages for wet area and for protection of satin flowers on rocky bald."
## [756] "APPENDICES."
## [757] "CONTACT INFORMATION."
## [758] "Seaside Place Apartment Complex"
## [759] "Mary Ellen "
## [760] "Phone:250-818-1070"
## [761] "Email:manager@seasideplace.ca"
## [762] "Bylaw Management officer"
## [763] "Wayne Giesbrecht "
## [764] "Phone:(250) 414-7161"
## [765] "Email:wayne.giesbrecht@esquimalt.ca"
## [766] "Esquimalt arborist (also contact for Public Works biomass pick-up)."
## [767] "Noah Alexander"
## [768] "Phone:1-250-412-8527"
## [769] "Email:noah.alexander@esquimalt.ca"
## [770] "Community Police Contacts"
## [771] "Cst. Kevin Lastiwka "
## [772] "Phone:250-995-7502"
## [773] "KEY."
## [774] "MCAMatson Conservation Area"
## [775] "DBHDiameter at breast height"
## [776] "ACOArtificial cover object"
fieldlog_index_cbind <- function(data, date, hours, biomass_removed, area_worked, invasive_sp_rem, species, species1, species2, species3){
Date <- date
Hours <- hours
Biomass_removed <- biomass_removed
Area_worked <- area_worked
Invasive_sp_rem<- invasive_sp_rem
Species <- species
Species1 <- species1
Species2 <- species2
Species3 <- species3
# wouldn't create a df
# tempdf <- data.frame(Date, Hours, Biomass_removed, Area_worked, Invasive_sp_rem, Species, Species1, Species2, Species3)
}
### Error in rbind(deparse.level, ...) :
### object 'fieldlog_MM_index_sel' not found
# doesn't recognize tempdf
# fieldlog_MM_all_test <- rbind(fieldlog_MM_all, tempdf)
# input index line as function values
# data - HAT_mca_2023_2024_text_parts
##Error in rbind(deparse.level, ...) : object 'tempdf' not found
#fieldlog_index_cbind(HAT_mca_2023_2024_text_parts, "90", "92", "94", "96", "99", "103", "104", "NA", "NA")
field_log_2024_10_02 <- fieldlog_index_cbind(HAT_mca_2023_2024_text_parts, 90, 92, 94, 96, 99, 103, 104, NA, NA)
# Error in data$date : $ operator is invalid for atomic vectors# use fileEncoding="UTF-8" to keep Aboriginal characters
crew_data <- read.csv("data/HATRestorationCrewData-2022-2025.csv", fileEncoding="UTF-8")
# Kept getting message Error in type.convert.default(data[[i]], as.is = as.is[i], dec = dec, : invalid multibyte string at '<ca>' had to clean up file in Excel
str(crew_data)## 'data.frame': 173 obs. of 9 variables:
## $ Year : int 2023 2024 2024 2023 2023 2023 2023 2023 2023 2023 ...
## $ Date : chr "19-Jun" "08-Oct" "10-Oct" "15-Aug" ...
## $ Work_Site : chr "Matson Conservation Area" "Matson Conservation Area" "Matson Conservation Area" "Oak Haven Park" ...
## $ Location : chr "https://maps.app.goo.gl/MN9fpJThnJ7iHBCs13" "https://maps.app.goo.gl/MN9fpJThnJ7iHBCs9" "https://maps.app.goo.gl/MN9fpJThnJ7iHBCs9" "1254 Garden Gate Dr, Brentwood Bay, BC V8M 2H6" ...
## $ Area.Cleared..m2. : num 75 83.7 54.5 30 200 150 22000 1000 22000 45 ...
## $ Biomass.Removed..m3. : chr "2.5" "0.8" "0.5" "2.5" ...
## $ Invasive_Species_Cleared: chr "English ivy, Himalayan blackberry" "Orchardgrass, thatch " "Thatch " "Daphne" ...
## $ Crew_Hours : num 37.5 38 22.5 15 30 27.5 30 37.5 34 15 ...
## $ Notes : chr "ĆENŦEḴI New Moon event at Matson - w/ UVic Class" "1st round of mowing in 2 deer exclosures, orchard grass removal in open meadow areas, completed fencing in dee"| __truncated__ "2nd round of mowing in deer Exclosure #1, completed fencing for deer Exclosure #2, roughened soil and seeded de"| __truncated__ "Aislyn & Neal Monitoring/ Lauren Crew Lead" ...
colnames(crew_data)## [1] "Year" "Date"
## [3] "Work_Site" "Location"
## [5] "Area.Cleared..m2." "Biomass.Removed..m3."
## [7] "Invasive_Species_Cleared" "Crew_Hours"
## [9] "Notes"
# separate values
crew_data_sep <- crew_data %>% separate(Date, into = c("Day", "Month"), sep = "-")
# convert month name to number
crew_data_sep$Month <- match(crew_data_sep$Month, month.abb)
# create new column for Date
crew_data_sep$Date <- NA
crew_data_sep$Date <- paste(crew_data_sep$Year, crew_data_sep$Month,crew_data_sep$Day,sep = "-")
str(crew_data_sep)## 'data.frame': 173 obs. of 11 variables:
## $ Year : int 2023 2024 2024 2023 2023 2023 2023 2023 2023 2023 ...
## $ Day : chr "19" "08" "10" "15" ...
## $ Month : int 6 10 10 8 6 7 5 5 5 7 ...
## $ Work_Site : chr "Matson Conservation Area" "Matson Conservation Area" "Matson Conservation Area" "Oak Haven Park" ...
## $ Location : chr "https://maps.app.goo.gl/MN9fpJThnJ7iHBCs13" "https://maps.app.goo.gl/MN9fpJThnJ7iHBCs9" "https://maps.app.goo.gl/MN9fpJThnJ7iHBCs9" "1254 Garden Gate Dr, Brentwood Bay, BC V8M 2H6" ...
## $ Area.Cleared..m2. : num 75 83.7 54.5 30 200 150 22000 1000 22000 45 ...
## $ Biomass.Removed..m3. : chr "2.5" "0.8" "0.5" "2.5" ...
## $ Invasive_Species_Cleared: chr "English ivy, Himalayan blackberry" "Orchardgrass, thatch " "Thatch " "Daphne" ...
## $ Crew_Hours : num 37.5 38 22.5 15 30 27.5 30 37.5 34 15 ...
## $ Notes : chr "ĆENŦEḴI New Moon event at Matson - w/ UVic Class" "1st round of mowing in 2 deer exclosures, orchard grass removal in open meadow areas, completed fencing in dee"| __truncated__ "2nd round of mowing in deer Exclosure #1, completed fencing for deer Exclosure #2, roughened soil and seeded de"| __truncated__ "Aislyn & Neal Monitoring/ Lauren Crew Lead" ...
## $ Date : chr "2023-6-19" "2024-10-08" "2024-10-10" "2023-8-15" ...
crew_data_sep$Date <- as.Date(crew_data_sep$Date)
str(crew_data_sep)## 'data.frame': 173 obs. of 11 variables:
## $ Year : int 2023 2024 2024 2023 2023 2023 2023 2023 2023 2023 ...
## $ Day : chr "19" "08" "10" "15" ...
## $ Month : int 6 10 10 8 6 7 5 5 5 7 ...
## $ Work_Site : chr "Matson Conservation Area" "Matson Conservation Area" "Matson Conservation Area" "Oak Haven Park" ...
## $ Location : chr "https://maps.app.goo.gl/MN9fpJThnJ7iHBCs13" "https://maps.app.goo.gl/MN9fpJThnJ7iHBCs9" "https://maps.app.goo.gl/MN9fpJThnJ7iHBCs9" "1254 Garden Gate Dr, Brentwood Bay, BC V8M 2H6" ...
## $ Area.Cleared..m2. : num 75 83.7 54.5 30 200 150 22000 1000 22000 45 ...
## $ Biomass.Removed..m3. : chr "2.5" "0.8" "0.5" "2.5" ...
## $ Invasive_Species_Cleared: chr "English ivy, Himalayan blackberry" "Orchardgrass, thatch " "Thatch " "Daphne" ...
## $ Crew_Hours : num 37.5 38 22.5 15 30 27.5 30 37.5 34 15 ...
## $ Notes : chr "ĆENŦEḴI New Moon event at Matson - w/ UVic Class" "1st round of mowing in 2 deer exclosures, orchard grass removal in open meadow areas, completed fencing in dee"| __truncated__ "2nd round of mowing in deer Exclosure #1, completed fencing for deer Exclosure #2, roughened soil and seeded de"| __truncated__ "Aislyn & Neal Monitoring/ Lauren Crew Lead" ...
## $ Date : Date, format: "2023-06-19" "2024-10-08" ...
colnames(crew_data_sep)## [1] "Year" "Day"
## [3] "Month" "Work_Site"
## [5] "Location" "Area.Cleared..m2."
## [7] "Biomass.Removed..m3." "Invasive_Species_Cleared"
## [9] "Crew_Hours" "Notes"
## [11] "Date"
# Rename columns
names(crew_data_sep)[names(crew_data_sep) == "Work.Site"] <- "Work_Site"
names(crew_data_sep)[names(crew_data_sep) == "Biomass.Removed..m3."] <- "Biomass_Removed_m3"
names(crew_data_sep)[names(crew_data_sep) == "Area.Cleared..m2."] <- "Area_Cleared_m2"
names(crew_data_sep)[names(crew_data_sep) == "Invasive.Species.Cleared"] <- "Invasive_Species_Cleared"
names(crew_data_sep)[names(crew_data_sep) == "Crew.Hours"] <- "Crew_Hours"
# Remove unneeded columns
colnames(crew_data_sep)## [1] "Year" "Day"
## [3] "Month" "Work_Site"
## [5] "Location" "Area_Cleared_m2"
## [7] "Biomass_Removed_m3" "Invasive_Species_Cleared"
## [9] "Crew_Hours" "Notes"
## [11] "Date"
crew_data_sep_sub <- subset(crew_data_sep, select = -c(2,3))
str(crew_data_sep_sub)## 'data.frame': 173 obs. of 9 variables:
## $ Year : int 2023 2024 2024 2023 2023 2023 2023 2023 2023 2023 ...
## $ Work_Site : chr "Matson Conservation Area" "Matson Conservation Area" "Matson Conservation Area" "Oak Haven Park" ...
## $ Location : chr "https://maps.app.goo.gl/MN9fpJThnJ7iHBCs13" "https://maps.app.goo.gl/MN9fpJThnJ7iHBCs9" "https://maps.app.goo.gl/MN9fpJThnJ7iHBCs9" "1254 Garden Gate Dr, Brentwood Bay, BC V8M 2H6" ...
## $ Area_Cleared_m2 : num 75 83.7 54.5 30 200 150 22000 1000 22000 45 ...
## $ Biomass_Removed_m3 : chr "2.5" "0.8" "0.5" "2.5" ...
## $ Invasive_Species_Cleared: chr "English ivy, Himalayan blackberry" "Orchardgrass, thatch " "Thatch " "Daphne" ...
## $ Crew_Hours : num 37.5 38 22.5 15 30 27.5 30 37.5 34 15 ...
## $ Notes : chr "ĆENŦEḴI New Moon event at Matson - w/ UVic Class" "1st round of mowing in 2 deer exclosures, orchard grass removal in open meadow areas, completed fencing in dee"| __truncated__ "2nd round of mowing in deer Exclosure #1, completed fencing for deer Exclosure #2, roughened soil and seeded de"| __truncated__ "Aislyn & Neal Monitoring/ Lauren Crew Lead" ...
## $ Date : Date, format: "2023-06-19" "2024-10-08" ...
# change to number format
crew_data_sep_sub$Area_Cleared_m2 <- as.numeric(as.character(crew_data_sep_sub$Area_Cleared_m2))
crew_data_sep_sub$Biomass_Removed_m3 <- as.numeric(as.character(crew_data_sep_sub$Biomass_Removed_m3))## Warning: NAs introduced by coercion
str(crew_data_sep_sub)## 'data.frame': 173 obs. of 9 variables:
## $ Year : int 2023 2024 2024 2023 2023 2023 2023 2023 2023 2023 ...
## $ Work_Site : chr "Matson Conservation Area" "Matson Conservation Area" "Matson Conservation Area" "Oak Haven Park" ...
## $ Location : chr "https://maps.app.goo.gl/MN9fpJThnJ7iHBCs13" "https://maps.app.goo.gl/MN9fpJThnJ7iHBCs9" "https://maps.app.goo.gl/MN9fpJThnJ7iHBCs9" "1254 Garden Gate Dr, Brentwood Bay, BC V8M 2H6" ...
## $ Area_Cleared_m2 : num 75 83.7 54.5 30 200 150 22000 1000 22000 45 ...
## $ Biomass_Removed_m3 : num 2.5 0.8 0.5 2.5 0.75 1.9 2 2.5 1.75 0.8 ...
## $ Invasive_Species_Cleared: chr "English ivy, Himalayan blackberry" "Orchardgrass, thatch " "Thatch " "Daphne" ...
## $ Crew_Hours : num 37.5 38 22.5 15 30 27.5 30 37.5 34 15 ...
## $ Notes : chr "ĆENŦEḴI New Moon event at Matson - w/ UVic Class" "1st round of mowing in 2 deer exclosures, orchard grass removal in open meadow areas, completed fencing in dee"| __truncated__ "2nd round of mowing in deer Exclosure #1, completed fencing for deer Exclosure #2, roughened soil and seeded de"| __truncated__ "Aislyn & Neal Monitoring/ Lauren Crew Lead" ...
## $ Date : Date, format: "2023-06-19" "2024-10-08" ...
colnames(crew_data_sep_sub)## [1] "Year" "Work_Site"
## [3] "Location" "Area_Cleared_m2"
## [5] "Biomass_Removed_m3" "Invasive_Species_Cleared"
## [7] "Crew_Hours" "Notes"
## [9] "Date"
unique(crew_data_sep_sub$Work_Site)## [1] "Matson Conservation Area" "Oak Haven Park"
## [3] "Yates" "Funk"
## [5] "Purple Sanicle" "Calypso Woods"
## [7] "Camas Hill" "Havenwood Park"
## [9] "Bear Hill"
#crew_data_sep_sub_matson <- crew_data_sep_sub[crew_data_sep_sub$Work_Site == "Matson Conservation Area",]
crew_data_sep_sub_OHP <- crew_data_sep_sub[crew_data_sep_sub$Work_Site == "Oak Haven Park",]
crew_data_sep_sub_yates <- crew_data_sep_sub[crew_data_sep_sub$Work_Site == "Yates",]
crew_data_sep_sub_funk <- crew_data_sep_sub[crew_data_sep_sub$Work_Site == "Funk",]
crew_data_sep_sub_ps <- crew_data_sep_sub[crew_data_sep_sub$Work_Site == "Purple Sanicle",]
crew_data_sep_sub_calypso <- crew_data_sep_sub[crew_data_sep_sub$Work_Site == "Calypso Woods",]
crew_data_sep_sub_camas <- crew_data_sep_sub[crew_data_sep_sub$Work_Site == "Camas Hill",]
crew_data_sep_sub_havenwood <- crew_data_sep_sub[crew_data_sep_sub$Work_Site == "Havenwood Park",]
crew_data_sep_sub_bear <- crew_data_sep_sub[crew_data_sep_sub$Work_Site == "Bear Hill",]str(HAT_data_inv_site_metrics)## 'data.frame': 36 obs. of 8 variables:
## $ Work.Site : chr "Bear Hill (HAT)" "Camas Hill (HAT)" "CGOP (NCC)" "Chase Woods (NCC)" ...
## $ Hours : num 68 120 90 128 30 ...
## $ Days : int 2 4 4 5 1 2 2 5 2 1 ...
## $ Area : num 729 842 157 156 3549 ...
## $ Biomass : num 33 8.8 5.5 10.5 4 0.2 16 9.8 13 2.5 ...
## $ Site.. : int 19 8 20 22 26 5 25 40 24 33 ...
## $ Site : chr "Bear Hill " "Camas Hill " "CGOP " "Chase Woods " ...
## $ Partner_Code: chr "HAT" "HAT" "NCC" "NCC" ...
colnames(HAT_data_inv_site_metrics)## [1] "Work.Site" "Hours" "Days" "Area" "Biomass"
## [6] "Site.." "Site" "Partner_Code"
names(HAT_data_inv_site_metrics)[names(HAT_data_inv_site_metrics) == "Work.Site"] <- "Work_Site"
names(HAT_data_inv_site_metrics)[names(HAT_data_inv_site_metrics) == "Site.."] <- "Site_Num"
colnames(HAT_data_inv_site_metrics)## [1] "Work_Site" "Hours" "Days" "Area" "Biomass"
## [6] "Site_Num" "Site" "Partner_Code"
## have to use escape character to use ( bracket as separator - doensnt' work with separate() also not with extract()
## First Create 2 new columns
# HAT_data_inv_site_metrics$Site <- NA
# HAT_data_inv_site_metrics$Partner_Code <- NA
# colnames(HAT_data_inv_site_metrics)
# Ended up using EXcel to split columns
## try again with separate()
# HAT_data_inv_site_metrics_update_split <- HAT_data_inv_site_metrics %>% separate(col = HAT_data_inv_site_metrics$Work_Site, into = c("Site", "Partner_Code"), sep = "\\(|,\\s*|\\)", remove = FALSE, extra = "merge")
#
# library(reshape2)
# ## This splits columns
# # and creates a new data frame of only these 2 new columns
# HAT_data_inv_site_metrics_split <- colsplit(string = gsub(pattern = "\\(|\\)", replacement = "", x = HAT_data_inv_site_metrics$Work_Site), pattern = " ",names = c("Site","Partner_Code"))
#
# str(HAT_data_inv_site_metrics_split)
# colnames(HAT_data_inv_site_metrics_split)colnames(HAT_data_Volevents)## [1] "Date" "Event" "Partner" "Volunteers"
## [5] "Volunteer.Hours" "Notes"
names(HAT_data_Volevents)[names(HAT_data_Volevents) == "Volunteer.Hours"] <- "Volunteer_Hours"
colnames(HAT_data_Volevents)## [1] "Date" "Event" "Partner" "Volunteers"
## [5] "Volunteer_Hours" "Notes"
colnames(HAT_data_Volevents)## [1] "Date" "Event" "Partner" "Volunteers"
## [5] "Volunteer_Hours" "Notes"
HAT_data_Volevents$Date <- as.Date(HAT_data_Volevents$Date)
str(HAT_data_Volevents)## 'data.frame': 27 obs. of 6 variables:
## $ Date : Date, format: "2024-04-21" "2023-12-01" ...
## $ Event : chr "Earth Day Restoration at Oak Haven Park" "lekwungen Community Toolshed Maplebank" "lekwungen Community Toolshed Maplebank" "lekwungen Community Toolshed Maplebank" ...
## $ Partner : chr "Central Saanich" "Cheryl Bryce" "Cheryl Bryce" "Cheryl Bryce" ...
## $ Volunteers : int 21 40 25 50 25 42 28 0 20 22 ...
## $ Volunteer_Hours: int 84 120 75 150 75 126 84 0 80 88 ...
## $ Notes : chr "" "" "" "" ...
## add column for year
HAT_data_Volevents[, "Year"] <- format(HAT_data_Volevents[,"Date"], "%Y")colnames(oakhaven_2025_cover)## [1] "SortID" "MonitorID" "QUniqueID"
## [4] "Date" "Year" "Location"
## [7] "Treated" "YearTreated" "ExSpTabTitle"
## [10] "Baseline" "Quadrat" "QuadratLocation_m"
## [13] "Species" "Native_or_Invasive" "PercentCover"
## [16] "OriginalSpecies"
oakhaven_2025_cover$QUniqueID <- paste(oakhaven_2025_cover$MonitorID, oakhaven_2025_cover$Quadrat, oakhaven_2025_cover$QuadratLocation_m, sep = "_")
oakhaven_2025_cover$QUniqueID## [1] "T-DL_Q1_4.3" "T-DL_Q1_4.3" "T-DL_Q1_4.3" "T-DL_Q1_4.3" "T-DL_Q1_4.3"
## [6] "T-DL_Q1_4.3" "T-DL_Q1_4.3" "T-DL_Q1_4.3" "T-DL_Q1_4.3" "T-DL_Q1_4.3"
## [11] "T-DL_Q2_3.3" "T-DL_Q2_3.3" "T-DL_Q2_3.3" "T-DL_Q2_3.3" "T-DL_Q2_3.3"
## [16] "T-DL_Q2_3.3" "T-DL_Q2_3.3" "T-DL_Q2_3.3" "T-DL_Q2_3.3" "T-DL_Q3_8.3"
## [21] "T-DL_Q3_8.3" "T-DL_Q3_8.3" "T-DL_Q3_8.3" "T-DL_Q3_8.3" "T-DL_Q3_8.3"
## [26] "T-DL_Q3_8.3" "T-DL_Q3_8.3" "U-DL_Q1_9" "U-DL_Q1_9" "U-DL_Q1_9"
## [31] "U-DL_Q1_9" "U-DL_Q1_9" "U-DL_Q1_9" "U-DL_Q1_9" "U-DL_Q1_9"
## [36] "U-DL_Q1_9" "U-DL_Q2_13.3" "U-DL_Q2_13.3" "U-DL_Q2_13.3" "U-DL_Q2_13.3"
## [41] "U-DL_Q2_13.3" "U-DL_Q2_13.3" "U-DL_Q2_13.3" "U-DL_Q2_13.3" "U-DL_Q3_2.6"
## [46] "U-DL_Q3_2.6" "U-DL_Q3_2.6" "U-DL_Q3_2.6" "U-DL_Q3_2.6" "U-DL_Q3_2.6"
## [51] "U-CH_Q1_9" "U-CH_Q1_9" "U-CH_Q1_9" "U-CH_Q1_9" "U-CH_Q1_9"
## [56] "U-CH_Q2_13.3" "U-CH_Q2_13.3" "U-CH_Q2_13.3" "U-CH_Q2_13.3" "U-CH_Q2_13.3"
## [61] "U-CH_Q2_13.3" "U-CH_Q3_2.6" "U-CH_Q3_2.6" "U-CH_Q3_2.6" "U-CH_Q3_2.6"
## [66] "U-CH_Q3_2.6" "T-CH_Q1_4.3" "T-CH_Q1_4.3" "T-CH_Q1_4.3" "T-CH_Q1_4.3"
## [71] "T-CH_Q1_4.3" "T-CH_Q1_4.3" "T-CH_Q1_4.3" "T-CH_Q2_3.3" "T-CH_Q2_3.3"
## [76] "T-CH_Q2_3.3" "T-CH_Q2_3.3" "T-CH_Q2_3.3" "T-CH_Q3_8.3" "T-CH_Q3_8.3"
## [81] "T-CH_Q3_8.3" "T-CH_Q3_8.3" "T-CH_Q3_8.3" "T-CH_Q3_8.3" "T-CH_Q3_8.3"
colnames(OH_GRP_Sp_Presence)## [1] "siteid" "projectid" "Site"
## [4] "Subregion" "treatmentid" "v_year_measure"
## [7] "replicate" "speciesid" "speciesorigin"
## [10] "response" "responselevel" "responsemetric"
## [13] "measurementscale" "measurementmetric" "genus"
## [16] "species" "lifeform" "Treated"
OH_GRP_Sp_Presence$GenusSpecies <- paste(OH_GRP_Sp_Presence$genus, OH_GRP_Sp_Presence$species, sep = " ")
unique(OH_GRP_Sp_Presence$GenusSpecies)## [1] "Geranium dissectum" "Linanthus bicolor"
## [3] "Myosotis discolor" "Nemophila parviflora"
## [5] "Plectritis macrocera" "Sherardia arvensis"
## [7] "Sisymbrium officinale" "Trifolium dubium"
## [9] "Trifolium willdenovii" "Veronica arvensis"
## [11] "Vicia hirsuta" "Vicia sativa"
## [13] "Aira caryophyllea" "Aira praecox"
## [15] "Bromus hordeaceus" "Bromus rigidus"
## [17] "Bromus sterilis" "Cynosurus echinatus"
## [19] "Poa annua" "Vulpia bromoides"
## [21] "Vulpia myuros" "Daucus carota"
## [23] "Erodium cicutarium" "Lactuca muralis"
## [25] "Lamium purpureum" "Pteridium aquilinum"
## [27] "Carex inops" "Dodecatheon hendersonii"
## [29] "Lathyrus nevadensis" "Lithophragma parviflorum"
## [31] "Micromeria douglasii" "Moehringia macrophylla"
## [33] "Ranunculus occidentalis" "Sanicula crassicaulis"
## [35] "Trientalis borealis" "Bromus spp"
## [37] "Amelanchier alnifolia" "Cirsium vulgare"
## [39] "Epilobium angustifolium" "Fragaria virginiana"
## [41] "Claytonia spp" "Senecio spp"
## [43] "Sonchus spp" "Rubus parviflorus"
## [45] "Achillea millefolium" "Allium cernuum"
## [47] "Allium acuminatum" "Anaphalis margaritacea"
## [49] "Aquilegia formosa" "Bellis perennis"
## [51] "Cerastium arvense" "Cirsium arvense"
## [53] "Crepis capillaris" "Eriophyllum lanatum"
## [55] "Galium aparine" "Geranium molle"
## [57] "Geranium robertianum" "Hypochaeris radicata"
## [59] "Lapsana communis" "Leucanthemum vulgare"
## [61] "Luzula multiflora" "Mimulus guttatus"
## [63] "Narcissus pseudonarcissus" "Plantago lanceolata"
## [65] "Potentilla recta" "Prunella vulgaris"
## [67] "Rumex acetosella" "Stellaria media"
## [69] "Triteleia hyacinthina" "Anthoxanthum odoratum"
## [71] "Cynosurus cristatus" "Dactylis glomerata"
## [73] "Danthonia californica" "Elymus elymoides"
## [75] "Fragaria vesca" "Holcus lanatus"
## [77] "Melica subulata" "Poa compressa"
## [79] "Poa pratensis" "Berberis aquifolium"
## [81] "Cytisus scoparius" "Hedera helix"
## [83] "Holodiscus discolor" "Lonicera hispidula"
## [85] "Oemleria cerasiformis" "Rubus praecox"
## [87] "Rubus ursinus" "Symphoricarpos albus"
## [89] "Acer macrophyllum" "Arbutus menziesii"
## [91] "Pseudotsuga menziesii" "Quercus garryana"
colnames(OH_GRP_Sp_Presence)## [1] "siteid" "projectid" "Site"
## [4] "Subregion" "treatmentid" "v_year_measure"
## [7] "replicate" "speciesid" "speciesorigin"
## [10] "response" "responselevel" "responsemetric"
## [13] "measurementscale" "measurementmetric" "genus"
## [16] "species" "lifeform" "Treated"
## [19] "GenusSpecies"
QUniqueIDwrite.csv(oakhaven_2025_cover, "data/oakhaven_2025_cover.csv", row.names = FALSE)unique(oakhaven_2025_cover$Native_or_Invasive)## [1] "Native" "Invasive" "MixedGrass"
oakhaven_2025_cover_nat <- oakhaven_2025_cover[oakhaven_2025_cover$Native_or_Invasive == "Native",]
oakhaven_2025_cover_inv <- oakhaven_2025_cover[oakhaven_2025_cover$Native_or_Invasive == "Invasive",]
oakhaven_2025_cover_mix <- oakhaven_2025_cover[oakhaven_2025_cover$Native_or_Invasive == "MixedGrass",]colnames(oakhaven_2025_cover)## [1] "SortID" "MonitorID" "QUniqueID"
## [4] "Date" "Year" "Location"
## [7] "Treated" "YearTreated" "ExSpTabTitle"
## [10] "Baseline" "Quadrat" "QuadratLocation_m"
## [13] "Species" "Native_or_Invasive" "PercentCover"
## [16] "OriginalSpecies"
oakhaven_2025_cover_untreat <- oakhaven_2025_cover[oakhaven_2025_cover$Treated == "Untreated",]
oakhaven_2025_cover_treat <- oakhaven_2025_cover[oakhaven_2025_cover$Treated == "Treated",]colnames(oakhaven_2025_cover_treat)## [1] "SortID" "MonitorID" "QUniqueID"
## [4] "Date" "Year" "Location"
## [7] "Treated" "YearTreated" "ExSpTabTitle"
## [10] "Baseline" "Quadrat" "QuadratLocation_m"
## [13] "Species" "Native_or_Invasive" "PercentCover"
## [16] "OriginalSpecies"
oakhaven_2025_cover_treat_sub <-oakhaven_2025_cover_treat[-c(1,2,9,10,11,12,16)]
# colnames(oakhaven_2025_cover_treat_sub)
str(oakhaven_2025_cover_treat_sub)## 'data.frame': 46 obs. of 9 variables:
## $ QUniqueID : chr "T-DL_Q1_4.3" "T-DL_Q1_4.3" "T-DL_Q1_4.3" "T-DL_Q1_4.3" ...
## $ Date : Date, format: "2025-04-02" "2025-04-02" ...
## $ Year : int 2025 2025 2025 2025 2025 2025 2025 2025 2025 2025 ...
## $ Location : chr "Oak Haven" "Oak Haven" "Oak Haven" "Oak Haven" ...
## $ Treated : chr "Treated" "Treated" "Treated" "Treated" ...
## $ YearTreated : int 2024 2024 2024 2024 2024 2024 2024 2024 2024 2024 ...
## $ Species : chr "shooting star" "Pacific sanicle" "camas" "herb robert geranium" ...
## $ Native_or_Invasive: chr "Native" "Native" "Native" "Invasive" ...
## $ PercentCover : int 10 3 10 4 10 3 25 9 1 25 ...
colnames(oakhaven_2025_cover_untreat)## [1] "SortID" "MonitorID" "QUniqueID"
## [4] "Date" "Year" "Location"
## [7] "Treated" "YearTreated" "ExSpTabTitle"
## [10] "Baseline" "Quadrat" "QuadratLocation_m"
## [13] "Species" "Native_or_Invasive" "PercentCover"
## [16] "OriginalSpecies"
oakhaven_2025_cover_untreat_sub <-oakhaven_2025_cover_untreat[-c(1,2,9,10,11,12,16)]
# colnames(oakhaven_2025_cover_untreat_sub)
str(oakhaven_2025_cover_untreat_sub)## 'data.frame': 39 obs. of 9 variables:
## $ QUniqueID : chr "U-DL_Q1_9" "U-DL_Q1_9" "U-DL_Q1_9" "U-DL_Q1_9" ...
## $ Date : Date, format: "2025-04-03" "2025-04-03" ...
## $ Year : int 2025 2025 2025 2025 2025 2025 2025 2025 2025 2025 ...
## $ Location : chr "Oak Haven" "Oak Haven" "Oak Haven" "Oak Haven" ...
## $ Treated : chr "Untreated" "Untreated" "Untreated" "Untreated" ...
## $ YearTreated : int NA NA NA NA NA NA NA NA NA NA ...
## $ Species : chr "Oregon grape" "snowberry" "fawn lily" "shooting star" ...
## $ Native_or_Invasive: chr "Native" "Native" "Native" "Native" ...
## $ PercentCover : int 9 14 5 5 50 2 5 5 5 14 ...
### GRP OH Species Presence Reference Data 2006
colnames(OH_GRP_Sp_Presence)## [1] "siteid" "projectid" "Site"
## [4] "Subregion" "treatmentid" "v_year_measure"
## [7] "replicate" "speciesid" "speciesorigin"
## [10] "response" "responselevel" "responsemetric"
## [13] "measurementscale" "measurementmetric" "genus"
## [16] "species" "lifeform" "Treated"
## [19] "GenusSpecies"
length(unique(OH_GRP_Sp_Presence$GenusSpecies)) #92## [1] 92
OH_GRP_Sp_Presence_sub <-OH_GRP_Sp_Presence[-c(1:5,7,10:11,13:14)]
length(unique(OH_GRP_Sp_Presence_sub$GenusSpecies)) #92## [1] 92
unique(OH_GRP_Sp_Presence_sub$GenusSpecies)## [1] "Geranium dissectum" "Linanthus bicolor"
## [3] "Myosotis discolor" "Nemophila parviflora"
## [5] "Plectritis macrocera" "Sherardia arvensis"
## [7] "Sisymbrium officinale" "Trifolium dubium"
## [9] "Trifolium willdenovii" "Veronica arvensis"
## [11] "Vicia hirsuta" "Vicia sativa"
## [13] "Aira caryophyllea" "Aira praecox"
## [15] "Bromus hordeaceus" "Bromus rigidus"
## [17] "Bromus sterilis" "Cynosurus echinatus"
## [19] "Poa annua" "Vulpia bromoides"
## [21] "Vulpia myuros" "Daucus carota"
## [23] "Erodium cicutarium" "Lactuca muralis"
## [25] "Lamium purpureum" "Pteridium aquilinum"
## [27] "Carex inops" "Dodecatheon hendersonii"
## [29] "Lathyrus nevadensis" "Lithophragma parviflorum"
## [31] "Micromeria douglasii" "Moehringia macrophylla"
## [33] "Ranunculus occidentalis" "Sanicula crassicaulis"
## [35] "Trientalis borealis" "Bromus spp"
## [37] "Amelanchier alnifolia" "Cirsium vulgare"
## [39] "Epilobium angustifolium" "Fragaria virginiana"
## [41] "Claytonia spp" "Senecio spp"
## [43] "Sonchus spp" "Rubus parviflorus"
## [45] "Achillea millefolium" "Allium cernuum"
## [47] "Allium acuminatum" "Anaphalis margaritacea"
## [49] "Aquilegia formosa" "Bellis perennis"
## [51] "Cerastium arvense" "Cirsium arvense"
## [53] "Crepis capillaris" "Eriophyllum lanatum"
## [55] "Galium aparine" "Geranium molle"
## [57] "Geranium robertianum" "Hypochaeris radicata"
## [59] "Lapsana communis" "Leucanthemum vulgare"
## [61] "Luzula multiflora" "Mimulus guttatus"
## [63] "Narcissus pseudonarcissus" "Plantago lanceolata"
## [65] "Potentilla recta" "Prunella vulgaris"
## [67] "Rumex acetosella" "Stellaria media"
## [69] "Triteleia hyacinthina" "Anthoxanthum odoratum"
## [71] "Cynosurus cristatus" "Dactylis glomerata"
## [73] "Danthonia californica" "Elymus elymoides"
## [75] "Fragaria vesca" "Holcus lanatus"
## [77] "Melica subulata" "Poa compressa"
## [79] "Poa pratensis" "Berberis aquifolium"
## [81] "Cytisus scoparius" "Hedera helix"
## [83] "Holodiscus discolor" "Lonicera hispidula"
## [85] "Oemleria cerasiformis" "Rubus praecox"
## [87] "Rubus ursinus" "Symphoricarpos albus"
## [89] "Acer macrophyllum" "Arbutus menziesii"
## [91] "Pseudotsuga menziesii" "Quercus garryana"
colnames(OH_GRP_Sp_Presence_sub)## [1] "v_year_measure" "speciesid" "speciesorigin" "responsemetric"
## [5] "genus" "species" "lifeform" "Treated"
## [9] "GenusSpecies"
unique(OH_GRP_Sp_Presence_sub$speciesorigin)## [1] "exotic" "native" "unknown"
OH_GRP_Sp_Presence_sub_nat <- OH_GRP_Sp_Presence_sub[OH_GRP_Sp_Presence_sub$speciesorigin == "native",]
unique(OH_GRP_Sp_Presence_sub_nat$GenusSpecies)## [1] "Linanthus bicolor" "Nemophila parviflora"
## [3] "Plectritis macrocera" "Trifolium willdenovii"
## [5] "Pteridium aquilinum" "Carex inops"
## [7] "Dodecatheon hendersonii" "Lathyrus nevadensis"
## [9] "Lithophragma parviflorum" "Micromeria douglasii"
## [11] "Moehringia macrophylla" "Ranunculus occidentalis"
## [13] "Sanicula crassicaulis" "Trientalis borealis"
## [15] "Amelanchier alnifolia" "Epilobium angustifolium"
## [17] "Fragaria virginiana" "Claytonia spp"
## [19] "Rubus parviflorus" "Achillea millefolium"
## [21] "Allium cernuum" "Allium acuminatum"
## [23] "Anaphalis margaritacea" "Aquilegia formosa"
## [25] "Cerastium arvense" "Eriophyllum lanatum"
## [27] "Galium aparine" "Luzula multiflora"
## [29] "Mimulus guttatus" "Prunella vulgaris"
## [31] "Triteleia hyacinthina" "Danthonia californica"
## [33] "Elymus elymoides" "Fragaria vesca"
## [35] "Melica subulata" "Berberis aquifolium"
## [37] "Holodiscus discolor" "Lonicera hispidula"
## [39] "Oemleria cerasiformis" "Rubus ursinus"
## [41] "Symphoricarpos albus" "Acer macrophyllum"
## [43] "Arbutus menziesii" "Pseudotsuga menziesii"
## [45] "Quercus garryana"
length(unique(OH_GRP_Sp_Presence_sub_nat$GenusSpecies))## [1] 45
OH_GRP_Sp_Presence_sub_exot <- OH_GRP_Sp_Presence_sub[OH_GRP_Sp_Presence_sub$speciesorigin == "exotic",]
unique(OH_GRP_Sp_Presence_sub_exot$GenusSpecies)## [1] "Geranium dissectum" "Myosotis discolor"
## [3] "Sherardia arvensis" "Sisymbrium officinale"
## [5] "Trifolium dubium" "Veronica arvensis"
## [7] "Vicia hirsuta" "Vicia sativa"
## [9] "Aira caryophyllea" "Aira praecox"
## [11] "Bromus hordeaceus" "Bromus rigidus"
## [13] "Bromus sterilis" "Cynosurus echinatus"
## [15] "Poa annua" "Vulpia bromoides"
## [17] "Vulpia myuros" "Daucus carota"
## [19] "Erodium cicutarium" "Lactuca muralis"
## [21] "Lamium purpureum" "Cirsium vulgare"
## [23] "Senecio spp" "Sonchus spp"
## [25] "Bellis perennis" "Cirsium arvense"
## [27] "Crepis capillaris" "Geranium molle"
## [29] "Geranium robertianum" "Hypochaeris radicata"
## [31] "Lapsana communis" "Leucanthemum vulgare"
## [33] "Narcissus pseudonarcissus" "Plantago lanceolata"
## [35] "Potentilla recta" "Rumex acetosella"
## [37] "Stellaria media" "Anthoxanthum odoratum"
## [39] "Cynosurus cristatus" "Dactylis glomerata"
## [41] "Holcus lanatus" "Poa compressa"
## [43] "Poa pratensis" "Cytisus scoparius"
## [45] "Hedera helix" "Rubus praecox"
length(unique(OH_GRP_Sp_Presence_sub_exot$GenusSpecies)) #46## [1] 46
OH_GRP_Sp_Presence_sub_unkown <- OH_GRP_Sp_Presence_sub[OH_GRP_Sp_Presence_sub$speciesorigin == "unknown",]
unique(OH_GRP_Sp_Presence_sub_unkown$GenusSpecies)## [1] "Bromus spp"
length(unique(OH_GRP_Sp_Presence_sub_unkown$GenusSpecies)) #1## [1] 1
summary(oakhaven_2025_cover_treat_sub)## QUniqueID Date Year Location
## Length:46 Min. :2025-04-02 Min. :2025 Length:46
## Class :character 1st Qu.:2025-04-02 1st Qu.:2025 Class :character
## Mode :character Median :2025-04-02 Median :2025 Mode :character
## Mean :2025-04-02 Mean :2025
## 3rd Qu.:2025-04-02 3rd Qu.:2025
## Max. :2025-04-02 Max. :2025
## Treated YearTreated Species Native_or_Invasive
## Length:46 Min. :2024 Length:46 Length:46
## Class :character 1st Qu.:2024 Class :character Class :character
## Mode :character Median :2024 Mode :character Mode :character
## Mean :2024
## 3rd Qu.:2024
## Max. :2024
## PercentCover
## Min. : 1.00
## 1st Qu.: 3.00
## Median : 9.00
## Mean :13.04
## 3rd Qu.:18.00
## Max. :65.00
summary(oakhaven_2025_cover_untreat_sub)## QUniqueID Date Year Location
## Length:39 Min. :2025-04-03 Min. :2025 Length:39
## Class :character 1st Qu.:2025-04-03 1st Qu.:2025 Class :character
## Mode :character Median :2025-04-03 Median :2025 Mode :character
## Mean :2025-04-03 Mean :2025
## 3rd Qu.:2025-04-03 3rd Qu.:2025
## Max. :2025-04-03 Max. :2025
##
## Treated YearTreated Species Native_or_Invasive
## Length:39 Min. : NA Length:39 Length:39
## Class :character 1st Qu.: NA Class :character Class :character
## Mode :character Median : NA Mode :character Mode :character
## Mean :NaN
## 3rd Qu.: NA
## Max. : NA
## NA's :39
## PercentCover
## Min. : 1.00
## 1st Qu.: 2.00
## Median : 5.00
## Mean :15.38
## 3rd Qu.:13.00
## Max. :90.00
##
??? how to calculate standard deviation???
colnames(oakhaven_2025_cover)## [1] "SortID" "MonitorID" "QUniqueID"
## [4] "Date" "Year" "Location"
## [7] "Treated" "YearTreated" "ExSpTabTitle"
## [10] "Baseline" "Quadrat" "QuadratLocation_m"
## [13] "Species" "Native_or_Invasive" "PercentCover"
## [16] "OriginalSpecies"
unique(oakhaven_2025_cover$QUniqueID) #12 # 6 for treated 6 for untreated## [1] "T-DL_Q1_4.3" "T-DL_Q2_3.3" "T-DL_Q3_8.3" "U-DL_Q1_9" "U-DL_Q2_13.3"
## [6] "U-DL_Q3_2.6" "U-CH_Q1_9" "U-CH_Q2_13.3" "U-CH_Q3_2.6" "T-CH_Q1_4.3"
## [11] "T-CH_Q2_3.3" "T-CH_Q3_8.3"
unique(oakhaven_2025_cover$Native_or_Invasive)## [1] "Native" "Invasive" "MixedGrass"
num_treat <- oakhaven_2025_cover %>%
group_by(Treated) %>%
filter(Treated == "Treated") %>%
summarise(nQUniqueID = length(unique(QUniqueID)))
num_treat## # A tibble: 1 × 2
## Treated nQUniqueID
## <chr> <int>
## 1 Treated 6
num_untreat <- oakhaven_2025_cover %>%
group_by(Treated) %>%
filter(Treated == "Untreated") %>%
summarise(nQUniqueID = length(unique(QUniqueID)))
num_untreat## # A tibble: 1 × 2
## Treated nQUniqueID
## <chr> <int>
## 1 Untreated 6
oakhaven_2025_cover_wrangle_group_nat <- oakhaven_2025_cover %>%
filter(Native_or_Invasive == "Native") %>%
group_by(Treated, Native_or_Invasive) %>%
summarise(PercentCover_sum = sum(PercentCover),
# nQUniqueID = length(unique(QUniqueID)),
PercentCover_mean = PercentCover_sum/6,
PercentCover_max = max(PercentCover),
PercentCover_min = min(PercentCover))## `summarise()` has grouped output by 'Treated'. You can override using the
## `.groups` argument.
oakhaven_2025_cover_wrangle_group_nat## # A tibble: 2 × 6
## # Groups: Treated [2]
## Treated Native_or_Invasive PercentCover_sum PercentCover_mean PercentCover_max
## <chr> <chr> <int> <dbl> <int>
## 1 Treated Native 254 42.3 35
## 2 Untrea… Native 151 25.2 14
## # ℹ 1 more variable: PercentCover_min <int>
oakhaven_2025_cover_wrangle_group_inv <- oakhaven_2025_cover %>%
filter(Native_or_Invasive == "Invasive") %>%
group_by(Treated, Native_or_Invasive) %>%
summarise(PercentCover_sum = sum(PercentCover),
# nQUniqueID = length(unique(QUniqueID)),
PercentCover_mean = PercentCover_sum/6,
PercentCover_max = max(PercentCover),
PercentCover_min = min(PercentCover))## `summarise()` has grouped output by 'Treated'. You can override using the
## `.groups` argument.
oakhaven_2025_cover_wrangle_group_inv## # A tibble: 2 × 6
## # Groups: Treated [2]
## Treated Native_or_Invasive PercentCover_sum PercentCover_mean PercentCover_max
## <chr> <chr> <int> <dbl> <int>
## 1 Treated Invasive 112 18.7 35
## 2 Untrea… Invasive 8 1.33 5
## # ℹ 1 more variable: PercentCover_min <int>
oakhaven_2025_cover_wrangle_group_mixgrs <- oakhaven_2025_cover %>%
filter(Native_or_Invasive == "MixedGrass") %>%
group_by(Treated, Native_or_Invasive) %>%
summarise(PercentCover_sum = sum(PercentCover),
# nQUniqueID = length(unique(QUniqueID)),
PercentCover_mean = PercentCover_sum/6,
PercentCover_max = max(PercentCover),
PercentCover_min = min(PercentCover))## `summarise()` has grouped output by 'Treated'. You can override using the
## `.groups` argument.
oakhaven_2025_cover_wrangle_group_mixgrs## # A tibble: 2 × 6
## # Groups: Treated [2]
## Treated Native_or_Invasive PercentCover_sum PercentCover_mean PercentCover_max
## <chr> <chr> <int> <dbl> <int>
## 1 Treated MixedGrass 234 39 65
## 2 Untrea… MixedGrass 441 73.5 90
## # ℹ 1 more variable: PercentCover_min <int>
# round mean to 2 decimals
oakhaven_2025_cover_wrangle_group_nat$PercentCover_mean <- round(oakhaven_2025_cover_wrangle_group_nat$PercentCover_mean, digits = 2)
oakhaven_2025_cover_wrangle_group_inv$PercentCover_mean <- round(oakhaven_2025_cover_wrangle_group_inv$PercentCover_mean, digits = 2)
oakhaven_2025_cover_wrangle_group_mixgrs$PercentCover_mean <- round(oakhaven_2025_cover_wrangle_group_mixgrs$PercentCover_mean, digits = 2)
oakhaven_2025_cover_mean_by_group_treated <- rbind(oakhaven_2025_cover_wrangle_group_nat, oakhaven_2025_cover_wrangle_group_inv, oakhaven_2025_cover_wrangle_group_mixgrs)
oakhaven_2025_cover_mean_by_group_treated## # A tibble: 6 × 6
## # Groups: Treated [2]
## Treated Native_or_Invasive PercentCover_sum PercentCover_mean PercentCover_max
## <chr> <chr> <int> <dbl> <int>
## 1 Treated Native 254 42.3 35
## 2 Untrea… Native 151 25.2 14
## 3 Treated Invasive 112 18.7 35
## 4 Untrea… Invasive 8 1.33 5
## 5 Treated MixedGrass 234 39 65
## 6 Untrea… MixedGrass 441 73.5 90
## # ℹ 1 more variable: PercentCover_min <int>
colnames(oakhaven_2025_cover)## [1] "SortID" "MonitorID" "QUniqueID"
## [4] "Date" "Year" "Location"
## [7] "Treated" "YearTreated" "ExSpTabTitle"
## [10] "Baseline" "Quadrat" "QuadratLocation_m"
## [13] "Species" "Native_or_Invasive" "PercentCover"
## [16] "OriginalSpecies"
unique(oakhaven_2025_cover$QUniqueID) #12 # 6 for treated 6 for untreated## [1] "T-DL_Q1_4.3" "T-DL_Q2_3.3" "T-DL_Q3_8.3" "U-DL_Q1_9" "U-DL_Q2_13.3"
## [6] "U-DL_Q3_2.6" "U-CH_Q1_9" "U-CH_Q2_13.3" "U-CH_Q3_2.6" "T-CH_Q1_4.3"
## [11] "T-CH_Q2_3.3" "T-CH_Q3_8.3"
oakhaven_2025_cover_mean_by_group_treat <- oakhaven_2025_cover %>%
group_by(Treated, Native_or_Invasive) %>%
summarise(mean_value = mean(PercentCover),
sd_value = sd(PercentCover))## `summarise()` has grouped output by 'Treated'. You can override using the
## `.groups` argument.
oakhaven_2025_cover_mean_by_group_treat## # A tibble: 6 × 4
## # Groups: Treated [2]
## Treated Native_or_Invasive mean_value sd_value
## <chr> <chr> <dbl> <dbl>
## 1 Treated Invasive 11.2 9.92
## 2 Treated MixedGrass 39 18.8
## 3 Treated Native 8.47 7.96
## 4 Untreated Invasive 2.67 2.08
## 5 Untreated MixedGrass 63 26.9
## 6 Untreated Native 5.21 4.20
write.csv(oakhaven_2025_cover_mean_by_group_treat, file = paste0("data/oakhaven_2025_cover_mean_by_group_treat_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".csv"), row.names = FALSE)
#write.csv(oakhaven_2025_cover_mean_by_group_treat, "data/oakhaven_2025_cover_mean_by_group_treat.csv", row.names = FALSE)colnames(oakhaven_2025_cover)## [1] "SortID" "MonitorID" "QUniqueID"
## [4] "Date" "Year" "Location"
## [7] "Treated" "YearTreated" "ExSpTabTitle"
## [10] "Baseline" "Quadrat" "QuadratLocation_m"
## [13] "Species" "Native_or_Invasive" "PercentCover"
## [16] "OriginalSpecies"
unique(oakhaven_2025_cover$QUniqueID) #12 # 6 for treated 6 for untreated## [1] "T-DL_Q1_4.3" "T-DL_Q2_3.3" "T-DL_Q3_8.3" "U-DL_Q1_9" "U-DL_Q2_13.3"
## [6] "U-DL_Q3_2.6" "U-CH_Q1_9" "U-CH_Q2_13.3" "U-CH_Q3_2.6" "T-CH_Q1_4.3"
## [11] "T-CH_Q2_3.3" "T-CH_Q3_8.3"
oakhaven_2025_cover_mean_by_group_treat_QUnique <- oakhaven_2025_cover %>%
# group_by(Treated, Native_or_Invasive) %>%
group_by(Treated, QUniqueID, Native_or_Invasive) %>%
summarise(mean_value = mean(PercentCover),
sd_value = sd(PercentCover))## `summarise()` has grouped output by 'Treated', 'QUniqueID'. You can override
## using the `.groups` argument.
oakhaven_2025_cover_mean_by_group_treat_QUnique## # A tibble: 33 × 5
## # Groups: Treated, QUniqueID [12]
## Treated QUniqueID Native_or_Invasive mean_value sd_value
## <chr> <chr> <chr> <dbl> <dbl>
## 1 Treated T-CH_Q1_4.3 Invasive 8 NA
## 2 Treated T-CH_Q1_4.3 MixedGrass 60 NA
## 3 Treated T-CH_Q1_4.3 Native 6.4 7.57
## 4 Treated T-CH_Q2_3.3 Invasive 10 NA
## 5 Treated T-CH_Q2_3.3 MixedGrass 65 NA
## 6 Treated T-CH_Q2_3.3 Native 8.33 1.53
## 7 Treated T-CH_Q3_8.3 Invasive 7.5 6.36
## 8 Treated T-CH_Q3_8.3 MixedGrass 32 NA
## 9 Treated T-CH_Q3_8.3 Native 13.2 15.6
## 10 Treated T-DL_Q1_4.3 Invasive 7 4.24
## # ℹ 23 more rows
write.csv(oakhaven_2025_cover_mean_by_group_treat_QUnique, file = paste0("data/oakhaven_2025_cover_mean_by_group_treat_QUnique_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".csv"), row.names = FALSE)
###################
# Summarize mean of treated/untreated by 6 different quadrats each
colnames(oakhaven_2025_cover_mean_by_group_treat_QUnique)## [1] "Treated" "QUniqueID" "Native_or_Invasive"
## [4] "mean_value" "sd_value"
oakhaven_2025_cover_mean_by_group_treat_QUnique_summ <- oakhaven_2025_cover_mean_by_group_treat_QUnique %>%
# group_by(Treated, Native_or_Invasive) %>%
group_by(Treated, Native_or_Invasive) %>%
summarise(mean_value = mean(mean_value),
sd_value = sd(sd_value))## `summarise()` has grouped output by 'Treated'. You can override using the
## `.groups` argument.
oakhaven_2025_cover_mean_by_group_treat_QUnique_summ## # A tibble: 6 × 4
## # Groups: Treated [2]
## Treated Native_or_Invasive mean_value sd_value
## <chr> <chr> <dbl> <dbl>
## 1 Treated Invasive 10.8 NA
## 2 Treated MixedGrass 39 NA
## 3 Treated Native 8.67 4.78
## 4 Untreated Invasive 2.67 NA
## 5 Untreated MixedGrass 67.8 NA
## 6 Untreated Native 5.24 1.40
write.csv(oakhaven_2025_cover_mean_by_group_treat_QUnique_summ, file = paste0("data/oakhaven_2025_cover_mean_by_group_treat_QUnique_summ_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".csv"), row.names = FALSE)oakhaven_2025_cover_mean_by_group_species <- oakhaven_2025_cover %>%
group_by(Species, Treated, Native_or_Invasive) %>%
summarise(mean_value = mean(PercentCover),
sd_value = sd(PercentCover))## `summarise()` has grouped output by 'Species', 'Treated'. You can override
## using the `.groups` argument.
oakhaven_2025_cover_mean_by_group_species## # A tibble: 32 × 5
## # Groups: Species, Treated [32]
## Species Treated Native_or_Invasive mean_value sd_value
## <chr> <chr> <chr> <dbl> <dbl>
## 1 Menzies larkspur Treated Native 9.5 0.707
## 2 Menzies larkspur Untreated Native 9 5.66
## 3 Oregon grape Treated Native 21.5 19.1
## 4 Oregon grape Untreated Native 11 2.65
## 5 Pacific sanicle Treated Native 1.67 1.15
## 6 Scotch broom Treated Invasive 2 1.41
## 7 Scotch broom Untreated Invasive 3.5 2.12
## 8 camas Treated Native 7.5 3.79
## 9 camas Untreated Native 5.6 4.34
## 10 delphinium Treated Native 9 1.41
## # ℹ 22 more rows
write.csv(oakhaven_2025_cover_mean_by_group_species, file = paste0("data/oakhaven_2025_cover_mean_by_group_species_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".csv"), row.names = FALSE)NEED TO change number of decimal places in summary
oakhaven_2025_cover_mean_by_group_species_QUnique <- oakhaven_2025_cover %>%
group_by(QUniqueID, Species, Treated, Native_or_Invasive) %>%
summarise(mean_value = mean(PercentCover),
sd_value = sd(PercentCover))## `summarise()` has grouped output by 'QUniqueID', 'Species', 'Treated'. You can
## override using the `.groups` argument.
oakhaven_2025_cover_mean_by_group_species_QUnique## # A tibble: 85 × 6
## # Groups: QUniqueID, Species, Treated [85]
## QUniqueID Species Treated Native_or_Invasive mean_value sd_value
## <chr> <chr> <chr> <chr> <dbl> <dbl>
## 1 T-CH_Q1_4.3 Pacific sanicle Treated Native 1 NA
## 2 T-CH_Q1_4.3 camas Treated Native 2 NA
## 3 T-CH_Q1_4.3 delphinium Treated Native 8 NA
## 4 T-CH_Q1_4.3 fawn lily Treated Native 2 NA
## 5 T-CH_Q1_4.3 mixed grass Treated MixedGrass 60 NA
## 6 T-CH_Q1_4.3 shiny geranium Treated Invasive 8 NA
## 7 T-CH_Q1_4.3 shooting star Treated Native 19 NA
## 8 T-CH_Q2_3.3 camas Treated Native 8 NA
## 9 T-CH_Q2_3.3 delphinium Treated Native 10 NA
## 10 T-CH_Q2_3.3 mixed moss and gr… Treated MixedGrass 65 NA
## # ℹ 75 more rows
write.csv(oakhaven_2025_cover_mean_by_group_species_QUnique, file = paste0("data/oakhaven_2025_cover_mean_by_group_species_QUnique_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".csv"), row.names = FALSE)
###################
# Summarize mean of treated/untreated by 6 different quadrats each
colnames(oakhaven_2025_cover_mean_by_group_species_QUnique)## [1] "QUniqueID" "Species" "Treated"
## [4] "Native_or_Invasive" "mean_value" "sd_value"
oakhaven_2025_cover_mean_by_group_species_QUnique_summ <- oakhaven_2025_cover_mean_by_group_species_QUnique %>%
# group_by(Treated, Native_or_Invasive) %>%
group_by(Species, Treated, Native_or_Invasive) %>%
summarise(mean_value = mean(mean_value),
sd_value = sd(mean_value))## `summarise()` has grouped output by 'Species', 'Treated'. You can override
## using the `.groups` argument.
oakhaven_2025_cover_mean_by_group_species_QUnique_summ## # A tibble: 32 × 5
## # Groups: Species, Treated [32]
## Species Treated Native_or_Invasive mean_value sd_value
## <chr> <chr> <chr> <dbl> <dbl>
## 1 Menzies larkspur Treated Native 9.5 NA
## 2 Menzies larkspur Untreated Native 9 NA
## 3 Oregon grape Treated Native 21.5 NA
## 4 Oregon grape Untreated Native 11 NA
## 5 Pacific sanicle Treated Native 1.67 NA
## 6 Scotch broom Treated Invasive 2 NA
## 7 Scotch broom Untreated Invasive 3.5 NA
## 8 camas Treated Native 7.5 NA
## 9 camas Untreated Native 5.6 NA
## 10 delphinium Treated Native 9 NA
## # ℹ 22 more rows
write.csv(oakhaven_2025_cover_mean_by_group_species_QUnique_summ, file = paste0("data/oakhaven_2025_cover_mean_by_group_species_QUnique_summ_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".csv"), row.names = FALSE)# Treated
oakhaven_2025_cover_treat_sub_srt_sp <- oakhaven_2025_cover_treat_sub[rev(order(oakhaven_2025_cover_treat_sub$Species)), ]
# oakhaven_2025_cover_treat_sub_srt_sp
# untreated
oakhaven_2025_cover_untreat_sub_srt_sp <- oakhaven_2025_cover_untreat_sub[rev(order(oakhaven_2025_cover_untreat_sub$Species)), ]
# oakhaven_2025_cover_untreat_sub_srt_sp# Treated
oakhaven_2025_cover_treat_sub_srt_nat <- oakhaven_2025_cover_treat_sub[rev(order(oakhaven_2025_cover_treat_sub$Native_or_Invasive)), ]
# oakhaven_2025_cover_treat_sub_srt_nat
# untreated
oakhaven_2025_cover_untreat_sub_srt_nat <- oakhaven_2025_cover_untreat_sub[rev(order(oakhaven_2025_cover_untreat_sub$Native_or_Invasive)), ]
# oakhaven_2025_cover_untreat_sub_srt_natNOTE: *** these are the correct mean values - not divided by natives - using dplyr
oakhaven_2025_cover_treat_sp_mean <- oakhaven_2025_cover_treat %>%
group_by(Species) %>%
summarise(meanPercentCover = mean(PercentCover))
# colnames(oakhaven_2025_cover_treat_mean_by_sp)
# Round treated
oakhaven_2025_cover_treat_sp_mean$meanPercentCover <- round(oakhaven_2025_cover_treat_sp_mean$meanPercentCover, digits = 2)
# oakhaven_2025_cover_treat_sp_mean$meanPercentCover
# Untreated
oakhaven_2025_cover_untreat_sp_mean <- oakhaven_2025_cover_untreat %>%
group_by(Species) %>%
summarise(meanPercentCover = mean(PercentCover))
# Round untreated
oakhaven_2025_cover_untreat_sp_mean$meanPercentCover <- round(oakhaven_2025_cover_untreat_sp_mean$meanPercentCover, digits = 2)
# oakhaven_2025_cover_untreat_sp_mean# https://stackoverflow.com/questions/37034242/add-a-new-column-to-a-dataframe-using-matching-values-of-another-dataframe
# add new column
oakhaven_2025_cover_treat_sp_mean$Native_or_Invasive <- NA
oakhaven_2025_cover_untreat_sp_mean$Native_or_Invasive <- NA# match values
# table1$val2 <- table2$val2[match(table1$pid, table2$pid)]
oakhaven_2025_cover_treat_sp_mean$Native_or_Invasive <- oakhaven_2025_cover$Native_or_Invasive[match(oakhaven_2025_cover_treat_sp_mean$Species, oakhaven_2025_cover$Species)]
oakhaven_2025_cover_treat_sp_mean## # A tibble: 16 × 3
## Species meanPercentCover Native_or_Invasive
## <chr> <dbl> <chr>
## 1 Menzies larkspur 9.5 Native
## 2 Oregon grape 21.5 Native
## 3 Pacific sanicle 1.67 Native
## 4 Scotch broom 2 Invasive
## 5 camas 7.5 Native
## 6 delphinium 9 Native
## 7 fawn lily 1.6 Native
## 8 field chickweed 3 Native
## 9 herb robert geranium 6.5 Invasive
## 10 mixed grass 34.2 MixedGrass
## 11 mixed moss and grass 48.5 MixedGrass
## 12 moss 16 Native
## 13 saxifrage species 1 Native
## 14 shiny geranium 15.8 Invasive
## 15 shooting star 11 Native
## 16 snowberry 11.7 Native
#
# # match values
# # table1$val2 <- table2$val2[match(table1$pid, table2$pid)]
oakhaven_2025_cover_untreat_sp_mean$Native_or_Invasive <- oakhaven_2025_cover$Native_or_Invasive[match(oakhaven_2025_cover_untreat_sp_mean$Species, oakhaven_2025_cover$Species)]
oakhaven_2025_cover_untreat_sp_mean## # A tibble: 16 × 3
## Species meanPercentCover Native_or_Invasive
## <chr> <dbl> <chr>
## 1 Menzies larkspur 9 Native
## 2 Oregon grape 11 Native
## 3 Scotch broom 3.5 Invasive
## 4 camas 5.6 Native
## 5 delphinium 3 Native
## 6 fawn lily 3 Native
## 7 field chickweed 1.5 Native
## 8 mixed grass 70.8 MixedGrass
## 9 mixed invasive grasses 53 MixedGrass
## 10 mixed moss and grass 52.5 MixedGrass
## 11 moss 8 Native
## 12 onion 1 Native
## 13 rose 1 Native
## 14 shooting star 3.25 Native
## 15 snowberry 11 Native
## 16 speedwell 1 Invasive
oakhaven_2025_cover_treat_sp_mean## # A tibble: 16 × 3
## Species meanPercentCover Native_or_Invasive
## <chr> <dbl> <chr>
## 1 Menzies larkspur 9.5 Native
## 2 Oregon grape 21.5 Native
## 3 Pacific sanicle 1.67 Native
## 4 Scotch broom 2 Invasive
## 5 camas 7.5 Native
## 6 delphinium 9 Native
## 7 fawn lily 1.6 Native
## 8 field chickweed 3 Native
## 9 herb robert geranium 6.5 Invasive
## 10 mixed grass 34.2 MixedGrass
## 11 mixed moss and grass 48.5 MixedGrass
## 12 moss 16 Native
## 13 saxifrage species 1 Native
## 14 shiny geranium 15.8 Invasive
## 15 shooting star 11 Native
## 16 snowberry 11.7 Native
colnames(oakhaven_2025_cover_treat_sp_mean)## [1] "Species" "meanPercentCover" "Native_or_Invasive"
# create new dataframe from old
OH_2025_perc_cover_treat_mean <- oakhaven_2025_cover_treat_sp_mean # 16 obs
OH_2025_perc_cover_untreat_mean <- oakhaven_2025_cover_untreat_sp_mean # 16 obs
# Rename unique treat or untreat meanPercentCover columns
names(OH_2025_perc_cover_treat_mean)[names(OH_2025_perc_cover_treat_mean) == "meanPercentCover"] <- "t_meanPercentCover"
names(OH_2025_perc_cover_untreat_mean)[names(OH_2025_perc_cover_untreat_mean) == "meanPercentCover"] <- "u_meanPercentCover"
# drop column to avoid duplication upon merge
colnames(OH_2025_perc_cover_untreat_mean)## [1] "Species" "u_meanPercentCover" "Native_or_Invasive"
#OH_2025_perc_cover_untreat_mean <-OH_2025_perc_cover_untreat_mean[-c(3)]
# merge ?
OH_2025_perc_cover_treat_mean_merge <- merge(OH_2025_perc_cover_treat_mean, OH_2025_perc_cover_untreat_mean, by ="Species", all = TRUE) # only 12 obs
# drop Native / Invasive column
colnames(OH_2025_perc_cover_treat_mean_merge)## [1] "Species" "t_meanPercentCover" "Native_or_Invasive.x"
## [4] "u_meanPercentCover" "Native_or_Invasive.y"
OH_2025_perc_cover_treat_mean_merge <- OH_2025_perc_cover_treat_mean_merge[-c(3,5)]
# table1$val2 <- table2$val2[match(table1$pid, table2$pid)]# https://stackoverflow.com/questions/37034242/add-a-new-column-to-a-dataframe-using-matching-values-of-another-dataframe
# add new column
OH_2025_perc_cover_treat_mean_merge$Native_or_Invasive <- NA# match values
# table1$val2 <- table2$val2[match(table1$pid, table2$pid)]
OH_2025_perc_cover_treat_mean_merge$Native_or_Invasive <- oakhaven_2025_cover$Native_or_Invasive[match(OH_2025_perc_cover_treat_mean_merge$Species, oakhaven_2025_cover$Species)]unique(oakhaven_2025_cover$QUniqueID)## [1] "T-DL_Q1_4.3" "T-DL_Q2_3.3" "T-DL_Q3_8.3" "U-DL_Q1_9" "U-DL_Q2_13.3"
## [6] "U-DL_Q3_2.6" "U-CH_Q1_9" "U-CH_Q2_13.3" "U-CH_Q3_2.6" "T-CH_Q1_4.3"
## [11] "T-CH_Q2_3.3" "T-CH_Q3_8.3"
length(unique(oakhaven_2025_cover$QUniqueID)) # S/B 12## [1] 12
oakhaven_group_quadrats <- oakhaven_2025_cover %>% dplyr::group_by(QUniqueID)str(oakhaven_group_quadrats)## gropd_df [85 × 16] (S3: grouped_df/tbl_df/tbl/data.frame)
## $ SortID : int [1:85] 1 2 3 4 5 6 7 8 9 10 ...
## $ MonitorID : chr [1:85] "T-DL" "T-DL" "T-DL" "T-DL" ...
## $ QUniqueID : chr [1:85] "T-DL_Q1_4.3" "T-DL_Q1_4.3" "T-DL_Q1_4.3" "T-DL_Q1_4.3" ...
## $ Date : Date[1:85], format: "2025-04-02" "2025-04-02" ...
## $ Year : int [1:85] 2025 2025 2025 2025 2025 2025 2025 2025 2025 2025 ...
## $ Location : chr [1:85] "Oak Haven" "Oak Haven" "Oak Haven" "Oak Haven" ...
## $ Treated : chr [1:85] "Treated" "Treated" "Treated" "Treated" ...
## $ YearTreated : int [1:85] 2024 2024 2024 2024 2024 2024 2024 2024 2024 2024 ...
## $ ExSpTabTitle : chr [1:85] "2025 Oak Haven Treated #1" "2025 Oak Haven Treated #1" "2025 Oak Haven Treated #1" "2025 Oak Haven Treated #1" ...
## $ Baseline : int [1:85] 1 1 1 1 1 1 1 1 1 1 ...
## $ Quadrat : chr [1:85] "Q1" "Q1" "Q1" "Q1" ...
## $ QuadratLocation_m : num [1:85] 4.3 4.3 4.3 4.3 4.3 4.3 4.3 4.3 4.3 4.3 ...
## $ Species : chr [1:85] "shooting star" "Pacific sanicle" "camas" "herb robert geranium" ...
## $ Native_or_Invasive: chr [1:85] "Native" "Native" "Native" "Invasive" ...
## $ PercentCover : int [1:85] 10 3 10 4 10 3 25 9 1 25 ...
## $ OriginalSpecies : chr [1:85] "shooting star" "Pacific sanicle" "camas" "herb robert geranium" ...
## - attr(*, "groups")= tibble [12 × 2] (S3: tbl_df/tbl/data.frame)
## ..$ QUniqueID: chr [1:12] "T-CH_Q1_4.3" "T-CH_Q2_3.3" "T-CH_Q3_8.3" "T-DL_Q1_4.3" ...
## ..$ .rows : list<int> [1:12]
## .. ..$ : int [1:7] 67 68 69 70 71 72 73
## .. ..$ : int [1:5] 74 75 76 77 78
## .. ..$ : int [1:7] 79 80 81 82 83 84 85
## .. ..$ : int [1:10] 1 2 3 4 5 6 7 8 9 10
## .. ..$ : int [1:9] 11 12 13 14 15 16 17 18 19
## .. ..$ : int [1:8] 20 21 22 23 24 25 26 27
## .. ..$ : int [1:5] 51 52 53 54 55
## .. ..$ : int [1:6] 56 57 58 59 60 61
## .. ..$ : int [1:5] 62 63 64 65 66
## .. ..$ : int [1:9] 28 29 30 31 32 33 34 35 36
## .. ..$ : int [1:8] 37 38 39 40 41 42 43 44
## .. ..$ : int [1:6] 45 46 47 48 49 50
## .. ..@ ptype: int(0)
## ..- attr(*, ".drop")= logi TRUE
unique(oakhaven_group_quadrats$QUniqueID)## [1] "T-DL_Q1_4.3" "T-DL_Q2_3.3" "T-DL_Q3_8.3" "U-DL_Q1_9" "U-DL_Q2_13.3"
## [6] "U-DL_Q3_2.6" "U-CH_Q1_9" "U-CH_Q2_13.3" "U-CH_Q3_2.6" "T-CH_Q1_4.3"
## [11] "T-CH_Q2_3.3" "T-CH_Q3_8.3"
colnames(oakhaven_2025_cover)## [1] "SortID" "MonitorID" "QUniqueID"
## [4] "Date" "Year" "Location"
## [7] "Treated" "YearTreated" "ExSpTabTitle"
## [10] "Baseline" "Quadrat" "QuadratLocation_m"
## [13] "Species" "Native_or_Invasive" "PercentCover"
## [16] "OriginalSpecies"
oakhaven_2025_cover_sp_unique <- unique(oakhaven_2025_cover$Species)
oakhaven_2025_cover_sp_unique## [1] "shooting star" "Pacific sanicle" "camas"
## [4] "herb robert geranium" "shiny geranium" "fawn lily"
## [7] "moss" "Menzies larkspur" "saxifrage species"
## [10] "mixed grass" "snowberry" "Oregon grape"
## [13] "Scotch broom" "field chickweed" "rose"
## [16] "mixed invasive grasses" "speedwell" "mixed moss and grass"
## [19] "delphinium" "onion"
length(unique(oakhaven_2025_cover$Species)) #18 > 20 after removing empty trailing spaces from 5## [1] 20
oakhaven_group_species <- oakhaven_2025_cover %>% dplyr::group_by(Species)
oakhaven_group_species## # A tibble: 85 × 16
## # Groups: Species [20]
## SortID MonitorID QUniqueID Date Year Location Treated YearTreated
## <int> <chr> <chr> <date> <int> <chr> <chr> <int>
## 1 1 T-DL T-DL_Q1_4.3 2025-04-02 2025 Oak Haven Treated 2024
## 2 2 T-DL T-DL_Q1_4.3 2025-04-02 2025 Oak Haven Treated 2024
## 3 3 T-DL T-DL_Q1_4.3 2025-04-02 2025 Oak Haven Treated 2024
## 4 4 T-DL T-DL_Q1_4.3 2025-04-02 2025 Oak Haven Treated 2024
## 5 5 T-DL T-DL_Q1_4.3 2025-04-02 2025 Oak Haven Treated 2024
## 6 6 T-DL T-DL_Q1_4.3 2025-04-02 2025 Oak Haven Treated 2024
## 7 7 T-DL T-DL_Q1_4.3 2025-04-02 2025 Oak Haven Treated 2024
## 8 8 T-DL T-DL_Q1_4.3 2025-04-02 2025 Oak Haven Treated 2024
## 9 9 T-DL T-DL_Q1_4.3 2025-04-02 2025 Oak Haven Treated 2024
## 10 10 T-DL T-DL_Q1_4.3 2025-04-02 2025 Oak Haven Treated 2024
## # ℹ 75 more rows
## # ℹ 8 more variables: ExSpTabTitle <chr>, Baseline <int>, Quadrat <chr>,
## # QuadratLocation_m <dbl>, Species <chr>, Native_or_Invasive <chr>,
## # PercentCover <int>, OriginalSpecies <chr>
length(unique(oakhaven_2025_cover$Species)) #18## [1] 20
length(unique(oakhaven_2025_cover_nat$Species)) #13## [1] 13
length(unique(oakhaven_2025_cover_inv$Species)) #4## [1] 4
length(unique(oakhaven_2025_cover_mix$Species)) #1## [1] 3
colnames(oakhaven_2025_cover)## [1] "SortID" "MonitorID" "QUniqueID"
## [4] "Date" "Year" "Location"
## [7] "Treated" "YearTreated" "ExSpTabTitle"
## [10] "Baseline" "Quadrat" "QuadratLocation_m"
## [13] "Species" "Native_or_Invasive" "PercentCover"
## [16] "OriginalSpecies"
oakhaven_2025_cover_sub <-oakhaven_2025_cover[-c(1:6,8:12)]
# Native Treated
oakhaven_2025_cover_sub_nat_tr <- oakhaven_2025_cover_sub[(oakhaven_2025_cover_sub$Native_or_Invasive == "Native") & (oakhaven_2025_cover_sub$Treated == "Treated"), ]
oakhaven_2025_cover_sub_nat_tr## Treated Species Native_or_Invasive PercentCover OriginalSpecies
## 1 Treated shooting star Native 10 shooting star
## 2 Treated Pacific sanicle Native 3 Pacific sanicle
## 3 Treated camas Native 10 camas
## 6 Treated fawn lily Native 3 fawn lily
## 7 Treated moss Native 25 moss
## 8 Treated Menzies larkspur Native 9 Menzies larkspur
## 9 Treated saxifrage species Native 1 saxifrage species
## 11 Treated fawn lily Native 1 fawn lily
## 12 Treated shooting star Native 8 shooting star
## 13 Treated snowberry Native 2 snowberry
## 14 Treated Menzies larkspur Native 10 Menzies larkspur
## 15 Treated camas Native 10 camas
## 18 Treated moss Native 8 moss
## 20 Treated Oregon grape Native 8 Oregon grape
## 21 Treated snowberry Native 19 snowberry
## 25 Treated moss Native 15 moss
## 26 Treated fawn lily Native 1 fawn lily
## 27 Treated Pacific sanicle Native 1 Pacific sanicle
## 67 Treated camas Native 2 camas
## 68 Treated delphinium Native 8 delphinium
## 69 Treated fawn lily Native 2 fawn lily
## 70 Treated shooting star Native 19 shooting star
## 72 Treated Pacific sanicle Native 1 Pacific sanicle
## 74 Treated camas Native 8 camas
## 75 Treated delphinium Native 10 delphinium
## 76 Treated shooting star Native 7 shooting star
## 79 Treated Oregon grape Native 35 Oregon grape
## 80 Treated snowberry Native 14 snowberry
## 82 Treated field chickweed Native 3 field chickweed
## 83 Treated fawn lily Native 1 fawn lily
length(unique(oakhaven_2025_cover_sub_nat_tr$Species)) #11## [1] 11
unique(oakhaven_2025_cover_sub_nat_tr$Species)## [1] "shooting star" "Pacific sanicle" "camas"
## [4] "fawn lily" "moss" "Menzies larkspur"
## [7] "saxifrage species" "snowberry" "Oregon grape"
## [10] "delphinium" "field chickweed"
# Native Untreated
oakhaven_2025_cover_sub_nat_untr <- oakhaven_2025_cover_sub[(oakhaven_2025_cover_sub$Native_or_Invasive == "Native") & (oakhaven_2025_cover_sub$Treated == "Untreated"), ]
oakhaven_2025_cover_sub_nat_untr## Treated Species Native_or_Invasive PercentCover OriginalSpecies
## 28 Untreated Oregon grape Native 9 Oregon grape
## 29 Untreated snowberry Native 14 snowberry
## 30 Untreated fawn lily Native 5 fawn lily
## 31 Untreated shooting star Native 5 shooting star
## 33 Untreated field chickweed Native 2 field chickweed
## 34 Untreated Menzies larkspur Native 5 Menzies larkspur
## 35 Untreated camas Native 5 camas
## 37 Untreated Oregon grape Native 14 Oregon grape
## 38 Untreated snowberry Native 8 snowberry
## 39 Untreated camas Native 5 camas
## 41 Untreated rose Native 1 rose
## 42 Untreated fawn lily Native 1 fawn lily
## 43 Untreated field chickweed Native 1 field chickweed
## 44 Untreated moss Native 8 moss
## 45 Untreated Menzies larkspur Native 13 Menzies larkspur
## 46 Untreated camas Native 13 camas
## 47 Untreated shooting star Native 5 shooting star
## 51 Untreated fawn lily Native 5 fawn lily
## 52 Untreated delphinium Native 2 delphinium
## 53 Untreated shooting star Native 1 shooting star
## 54 Untreated camas Native 2 camas
## 56 Untreated Oregon grape Native 10 Oregon grape
## 57 Untreated camas Native 3 camas
## 58 Untreated delphinium Native 2 delphinium
## 61 Untreated fawn lily Native 2 fawn lily
## 62 Untreated shooting star Native 2 shooting star
## 63 Untreated delphinium Native 5 delphinium
## 64 Untreated fawn lily Native 2 fawn lily
## 66 Untreated onion Native 1 onion
length(unique(oakhaven_2025_cover_sub_nat_untr$Species)) #11## [1] 11
unique(oakhaven_2025_cover_sub_nat_untr$Species)## [1] "Oregon grape" "snowberry" "fawn lily" "shooting star"
## [5] "field chickweed" "Menzies larkspur" "camas" "rose"
## [9] "moss" "delphinium" "onion"
# Invasive Treated
oakhaven_2025_cover_sub_inv_tr <- oakhaven_2025_cover_sub[(oakhaven_2025_cover_sub$Native_or_Invasive == "Invasive") & (oakhaven_2025_cover_sub$Treated == "Treated"), ]
oakhaven_2025_cover_sub_inv_tr## Treated Species Native_or_Invasive PercentCover
## 4 Treated herb robert geranium Invasive 4
## 5 Treated shiny geranium Invasive 10
## 16 Treated shiny geranium Invasive 20
## 17 Treated herb robert geranium Invasive 9
## 22 Treated Scotch broom Invasive 1
## 23 Treated shiny geranium Invasive 35
## 71 Treated shiny geranium Invasive 8
## 77 Treated shiny geranium Invasive 10
## 81 Treated Scotch broom Invasive 3
## 84 Treated shiny geranium Invasive 12
## OriginalSpecies
## 4 herb robert geranium
## 5 shiny geranium
## 16 shiny geranium
## 17 herb robert geranium
## 22 Scotch broom
## 23 shiny geranium
## 71 shiny geranium
## 77 shiny geranium
## 81 Scotch broom
## 84 shiny geranium
length(unique(oakhaven_2025_cover_sub_inv_tr$Species)) #4## [1] 3
unique(oakhaven_2025_cover_sub_inv_tr$Species)## [1] "herb robert geranium" "shiny geranium" "Scotch broom"
# Invasive Untreated
oakhaven_2025_cover_sub_inv_untr <- oakhaven_2025_cover_sub[(oakhaven_2025_cover_sub$Native_or_Invasive == "Invasive") & (oakhaven_2025_cover_sub$Treated == "Untreated"), ]
oakhaven_2025_cover_sub_inv_untr## Treated Species Native_or_Invasive PercentCover OriginalSpecies
## 36 Untreated Scotch broom Invasive 5 Scotch broom
## 49 Untreated speedwell Invasive 1 speedwell
## 60 Untreated Scotch broom Invasive 2 Scotch broom
length(unique(oakhaven_2025_cover_sub_inv_untr$Species)) #4## [1] 2
unique(oakhaven_2025_cover_sub_inv_untr$Species)## [1] "Scotch broom" "speedwell"
"- There are `r length(unique(oakhaven_2025_cover_sub_nat_tr$Species))` unique native plant species,
and `r length(unique(oakhaven_2025_cover_sub_inv_tr$Species))` invasive Plant species
found in both the Treated and Untreated monitoring locations at Oak Haven Park"
"- The **native plant species** are: `r unique(oakhaven_2025_cover_sub_nat_tr$Species)` "
"- The **invasive plant species** are: `r unique(oakhaven_2025_cover_sub_inv_tr$Species)` "HAT_data_Sites_SAR
HAT_data_FOHP
HAT_data_SAR
HAT_data_Volevents
str(crew_data_sep_sub_OHP)## 'data.frame': 65 obs. of 9 variables:
## $ Year : int 2023 2023 2025 2025 2025 2025 2025 2025 2025 2025 ...
## $ Work_Site : chr "Oak Haven Park" "Oak Haven Park" "Oak Haven Park" "Oak Haven Park" ...
## $ Location : chr "1254 Garden Gate Dr, Brentwood Bay, BC V8M 2H6" "1251 Garden Gate Dr, Brentwood Bay, BC V8M 2H6" "1251 Garden Gate Dr, Brentwood Bay, BC V8M 2H6" "1251 Garden Gate Dr, Brentwood Bay, BC V8M 2H6" ...
## $ Area_Cleared_m2 : num 30 100 25 510 44 ...
## $ Biomass_Removed_m3 : num 2.5 2 0.6 NA 0.05 0.05 1 0.05 0.15 1.4 ...
## $ Invasive_Species_Cleared: chr "Daphne" "Shiny Geranium" "Shiny geranium" "Shiny geranium" ...
## $ Crew_Hours : num 15 32.5 30 25 30 30 22.5 26.5 22.5 37.5 ...
## $ Notes : chr "Aislyn & Neal Monitoring/ Lauren Crew Lead" "Calypso Woods Monitoring, VNFC + Christina at MCA + Vanessa Dentist Appointment" "Checking shiny geranium experiment plots (torched and 10% vinegar spray) and adding additional vinegar spray pl"| __truncated__ "Completed removing shiny geranium from polygon 6 in one day on north side of trail near SAR population. Patch d"| __truncated__ ...
## $ Date : Date, format: "2023-08-15" "2023-07-04" ...
colnames(crew_data_sep_sub_OHP)## [1] "Year" "Work_Site"
## [3] "Location" "Area_Cleared_m2"
## [5] "Biomass_Removed_m3" "Invasive_Species_Cleared"
## [7] "Crew_Hours" "Notes"
## [9] "Date"
unique(crew_data_sep_sub_OHP$Year) # 2023 2025 2024 2022## [1] 2023 2025 2024 2022
# Filter by year - need column for year
crew_data_sep_sub_OHP_2025 <- crew_data_sep_sub_OHP[crew_data_sep_sub_OHP$Year == "2025",]
crew_data_sep_sub_OHP_2024 <- crew_data_sep_sub_OHP[crew_data_sep_sub_OHP$Year == "2024",]
crew_data_sep_sub_OHP_2023 <- crew_data_sep_sub_OHP[crew_data_sep_sub_OHP$Year == "2023",]
crew_data_sep_sub_OHP_2022 <- crew_data_sep_sub_OHP[crew_data_sep_sub_OHP$Year == "2022",]
crew_data_sep_sub_OHP_2025_plot <-
ggplot(crew_data_sep_sub_OHP_2025, aes(x = Date, y = Crew_Hours, fill = Biomass_Removed_m3)) +
geom_bar(stat = "identity", width = 0.5, position = "dodge") +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position ="bottom") +
theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust=1, size = 7)) +
#scale_fill_manual(values = custom_colours_3) +
labs(title='Oak Haven Park Biomass removed by HAT Crew',
subtitle='2025',
caption = "Chart by Wendy Anthony \n 2025-11-29", fill = "Biomass_Removed_m3",
x = "Work Site", y = "Crew Hours")
crew_data_sep_sub_OHP_2025_plot# ggsave(filename = paste0("images/crew_data_sep_sub_plot_W̱SÁNEĆ_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), crew_data_sep_sub_plot)colnames(crew_data_sep_sub)## [1] "Year" "Work_Site"
## [3] "Location" "Area_Cleared_m2"
## [5] "Biomass_Removed_m3" "Invasive_Species_Cleared"
## [7] "Crew_Hours" "Notes"
## [9] "Date"
# Filter by year - need column for year
crew_data_sep_sub_2025 <- crew_data_sep_sub[crew_data_sep_sub$Year == "2025",]
crew_data_sep_sub_2025_plot <-
ggplot(crew_data_sep_sub_2025, aes(x = Biomass_Removed_m3, y = Crew_Hours, fill = Work_Site)) +
geom_bar(stat = "identity", width = 0.05, position = "dodge") +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position ="bottom") +
theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust=1, size = 7)) +
#scale_fill_manual(values = custom_colours_3) +
labs(title='Biomass removed',
subtitle='2025 HAT Properties',
caption = "Chart by Wendy Anthony \n 2025-11-29", fill = "Biomass_Removed_m3",
x = "Biomass_Removed_m3", y = "Crew Hours")
crew_data_sep_sub_2025_plot## Warning: `position_dodge()` requires non-overlapping x intervals
## Warning: Removed 1 rows containing missing values (`geom_bar()`).
# ggsave(filename = paste0("images/crew_data_sep_sub_2025_plotĆ_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), crew_data_sep_sub_2025_plot)colnames(crew_data_sep_sub)## [1] "Year" "Work_Site"
## [3] "Location" "Area_Cleared_m2"
## [5] "Biomass_Removed_m3" "Invasive_Species_Cleared"
## [7] "Crew_Hours" "Notes"
## [9] "Date"
str(crew_data_sep_sub)## 'data.frame': 173 obs. of 9 variables:
## $ Year : int 2023 2024 2024 2023 2023 2023 2023 2023 2023 2023 ...
## $ Work_Site : chr "Matson Conservation Area" "Matson Conservation Area" "Matson Conservation Area" "Oak Haven Park" ...
## $ Location : chr "https://maps.app.goo.gl/MN9fpJThnJ7iHBCs13" "https://maps.app.goo.gl/MN9fpJThnJ7iHBCs9" "https://maps.app.goo.gl/MN9fpJThnJ7iHBCs9" "1254 Garden Gate Dr, Brentwood Bay, BC V8M 2H6" ...
## $ Area_Cleared_m2 : num 75 83.7 54.5 30 200 150 22000 1000 22000 45 ...
## $ Biomass_Removed_m3 : num 2.5 0.8 0.5 2.5 0.75 1.9 2 2.5 1.75 0.8 ...
## $ Invasive_Species_Cleared: chr "English ivy, Himalayan blackberry" "Orchardgrass, thatch " "Thatch " "Daphne" ...
## $ Crew_Hours : num 37.5 38 22.5 15 30 27.5 30 37.5 34 15 ...
## $ Notes : chr "ĆENŦEḴI New Moon event at Matson - w/ UVic Class" "1st round of mowing in 2 deer exclosures, orchard grass removal in open meadow areas, completed fencing in dee"| __truncated__ "2nd round of mowing in deer Exclosure #1, completed fencing for deer Exclosure #2, roughened soil and seeded de"| __truncated__ "Aislyn & Neal Monitoring/ Lauren Crew Lead" ...
## $ Date : Date, format: "2023-06-19" "2024-10-08" ...
# aggregate(crew_data_sep_sub$Work_Site, by=list(Biomass_Removed_m3=crew_data_sep_sub$Biomass_Removed_m3), FUN=sum)
## Error in FUN(X[[i]], ...) : invalid 'type' (character) of argument
crew_data_sep_sub_sum_by_group_site <- crew_data_sep_sub %>%
group_by(Work_Site, Year) %>%
summarise(Biomass_Removed_m3 = sum(Biomass_Removed_m3),
Crew_Hours = sum(Crew_Hours))## `summarise()` has grouped output by 'Work_Site'. You can override using the
## `.groups` argument.
crew_data_sep_sub_sum_by_group_site## # A tibble: 23 × 4
## # Groups: Work_Site [9]
## Work_Site Year Biomass_Removed_m3 Crew_Hours
## <chr> <int> <dbl> <dbl>
## 1 Bear Hill 2024 33 68
## 2 Calypso Woods 2025 3 30
## 3 Camas Hill 2023 59 258
## 4 Camas Hill 2024 8.8 120
## 5 Camas Hill 2025 14.7 188.
## 6 Funk 2023 5 34.5
## 7 Funk 2024 4 30
## 8 Funk 2025 3 22.5
## 9 Havenwood Park 2023 15 37.5
## 10 Havenwood Park 2024 2.5 30
## # ℹ 13 more rows
colnames(crew_data_sep_sub_sum_by_group_site)## [1] "Work_Site" "Year" "Biomass_Removed_m3"
## [4] "Crew_Hours"
# [1] "Work_Site" "Year" "Biomass_Removed_m3" "Crew_Hours"
unique(crew_data_sep_sub_sum_by_group_site$Work_Site)## [1] "Bear Hill" "Calypso Woods"
## [3] "Camas Hill" "Funk"
## [5] "Havenwood Park" "Matson Conservation Area"
## [7] "Oak Haven Park" "Purple Sanicle"
## [9] "Yates"
# Filter by year - need column for year
crew_data_sep_sub_sum_by_group_site_2025 <- crew_data_sep_sub_sum_by_group_site[crew_data_sep_sub_sum_by_group_site$Year == "2025",]
crew_data_sep_sub_sum_by_group_site_2025_plot <-
ggplot(crew_data_sep_sub_sum_by_group_site_2025, aes(x = Crew_Hours, y = Biomass_Removed_m3, fill = Work_Site)) +
# ggplot(crew_data_sep_sub_sum_by_group_site_2025, aes(x = Biomass_Removed_m3, y = Crew_Hours, fill = Work_Site)) +
geom_bar(stat = "identity", width = 5, position = "dodge") +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position ="bottom") +
theme(axis.text.x = element_text(angle = 0, vjust = 1, hjust=1, size = 7)) +
#scale_fill_manual(values = custom_colours_3) +
labs(title='Total Biomass Removed and Work Crew Hours',
subtitle='2025 HAT Properties',
caption = "Chart by Wendy Anthony \n 2025-11-29", fill = "Work_Site",
x = "Biomass Removed (m3)", y = "Crew Hours") +
guides(fill = guide_legend(title="Work Site"))
crew_data_sep_sub_sum_by_group_site_2025_plot## Warning: Removed 1 rows containing missing values (`geom_bar()`).
# ggsave(filename = paste0("images/crew_data_sep_sub_2025_plotĆ_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), crew_data_sep_sub_2025_plot)str(crew_data_sep_sub)## 'data.frame': 173 obs. of 9 variables:
## $ Year : int 2023 2024 2024 2023 2023 2023 2023 2023 2023 2023 ...
## $ Work_Site : chr "Matson Conservation Area" "Matson Conservation Area" "Matson Conservation Area" "Oak Haven Park" ...
## $ Location : chr "https://maps.app.goo.gl/MN9fpJThnJ7iHBCs13" "https://maps.app.goo.gl/MN9fpJThnJ7iHBCs9" "https://maps.app.goo.gl/MN9fpJThnJ7iHBCs9" "1254 Garden Gate Dr, Brentwood Bay, BC V8M 2H6" ...
## $ Area_Cleared_m2 : num 75 83.7 54.5 30 200 150 22000 1000 22000 45 ...
## $ Biomass_Removed_m3 : num 2.5 0.8 0.5 2.5 0.75 1.9 2 2.5 1.75 0.8 ...
## $ Invasive_Species_Cleared: chr "English ivy, Himalayan blackberry" "Orchardgrass, thatch " "Thatch " "Daphne" ...
## $ Crew_Hours : num 37.5 38 22.5 15 30 27.5 30 37.5 34 15 ...
## $ Notes : chr "ĆENŦEḴI New Moon event at Matson - w/ UVic Class" "1st round of mowing in 2 deer exclosures, orchard grass removal in open meadow areas, completed fencing in dee"| __truncated__ "2nd round of mowing in deer Exclosure #1, completed fencing for deer Exclosure #2, roughened soil and seeded de"| __truncated__ "Aislyn & Neal Monitoring/ Lauren Crew Lead" ...
## $ Date : Date, format: "2023-06-19" "2024-10-08" ...
colnames(crew_data_sep_sub)## [1] "Year" "Work_Site"
## [3] "Location" "Area_Cleared_m2"
## [5] "Biomass_Removed_m3" "Invasive_Species_Cleared"
## [7] "Crew_Hours" "Notes"
## [9] "Date"
# create custom colour-blind-friendly palette
custom_colours_3 <- c("Invasive" = "#fc8d62",
"Native" = "#66c2a5",
"MixedGrass" = "#8da0cb")
# custom_colours_3 <- c("Native" = "#1b9e77",
# "Invasive" = "#d95f02",
# "MixedGrass" = "#7570b3")
crew_data_sep_sub_plot <-
ggplot(crew_data_sep_sub, aes(x = Work_Site, y = Crew_Hours, fill = Biomass_Removed_m3)) +
geom_bar(stat = "identity", width = 0.5, position = "dodge") +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position ="bottom") +
theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust=1, size = 7)) +
#scale_fill_manual(values = custom_colours_3) +
labs(title='Biomass removed',
subtitle='2025 HAT Properties',
caption = "Chart by Wendy Anthony \n 2025-11-29", fill = "Biomass_Removed_m3",
x = "Work Site", y = "Crew Hours")
crew_data_sep_sub_plot# ggsave(filename = paste0("images/crew_data_sep_sub_plot_W̱SÁNEĆ_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), crew_data_sep_sub_plot)colnames(HAT_data_inv_site_metrics)## [1] "Work_Site" "Hours" "Days" "Area" "Biomass"
## [6] "Site_Num" "Site" "Partner_Code"
# drop row with data not shared
HAT_data_inv_site_metrics <- HAT_data_inv_site_metrics[!(HAT_data_inv_site_metrics$Site %in% "NOT-SHARED"),]
HAT_data_inv_site_metrics_staffhrs <- ggplot(HAT_data_inv_site_metrics,
aes(x = Site, y = Hours, fill = Partner_Code)) +
# aes(x = Site, y = Hours)) +
geom_bar(stat = "identity", width = 0.5, position = "dodge") +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position ="right") +
theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust=1, size = 7)) +
# scale_fill_manual(values = custom_colours_4) +
labs(title='HAT Staff Site Hours',
subtitle='2024 HAT_data_inv_site_metrics',
caption = "Chart by Wendy Anthony \n 2025-11-17", fill = "Partner",
# caption = "Chart by Wendy Anthony \n 2025-11-17", fill = "",
x = "Site", y = "Staff Hours")
HAT_data_inv_site_metrics_staffhrs# ggsave(filename = paste0("images/HAT_data_inv_site_metrics_staffhrs_plot_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), HAT_data_inv_site_metrics_staffhrs)colnames(HAT_data_Volevents)## [1] "Date" "Event" "Partner" "Volunteers"
## [5] "Volunteer_Hours" "Notes" "Year"
HAT_data_Volevents_2024 <- HAT_data_Volevents[!(HAT_data_Volevents$Year %in% "2023"),]
HAT_data_Volevents_2024 <- ggplot(HAT_data_Volevents_2024,
aes(x = Date, y = Volunteer_Hours, fill = Event)) +
# aes(x = Site, y = Hours)) +
geom_bar(stat = "identity", width = 2, position = "dodge") +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position ="right") +
theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust=1, size = 7)) +
# scale_fill_manual(values = custom_colours_4) +
labs(title='HAT Volunteer Event Hours',
subtitle='2024-HabitatRestorationWorkbook-VolEvents.csv',
caption = "Chart by Wendy Anthony \n 2025-11-17", fill = "Event",
# caption = "Chart by Wendy Anthony \n 2025-11-17", fill = "",
x = "Date", y = "Volunteer Hours")
HAT_data_Volevents_2024## Warning: `position_dodge()` requires non-overlapping x intervals
# Warning
# `position_dodge()` requires non-overlapping x intervals
# ggsave(filename = paste0("images/HAT_data_Volevents_2024_plot_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), HAT_data_Volevents_2024)colnames(HAT_data_Volevents)## [1] "Date" "Event" "Partner" "Volunteers"
## [5] "Volunteer_Hours" "Notes" "Year"
str(HAT_data_Volevents)## 'data.frame': 27 obs. of 7 variables:
## $ Date : Date, format: "2024-04-21" "2023-12-01" ...
## $ Event : chr "Earth Day Restoration at Oak Haven Park" "lekwungen Community Toolshed Maplebank" "lekwungen Community Toolshed Maplebank" "lekwungen Community Toolshed Maplebank" ...
## $ Partner : chr "Central Saanich" "Cheryl Bryce" "Cheryl Bryce" "Cheryl Bryce" ...
## $ Volunteers : int 21 40 25 50 25 42 28 0 20 22 ...
## $ Volunteer_Hours: int 84 120 75 150 75 126 84 0 80 88 ...
## $ Notes : chr "" "" "" "" ...
## $ Year : chr "2024" "2023" "2024" "2024" ...
HAT_data_Volevents$Date <- as.Date(HAT_data_Volevents$Date)
str(HAT_data_Volevents)## 'data.frame': 27 obs. of 7 variables:
## $ Date : Date, format: "2024-04-21" "2023-12-01" ...
## $ Event : chr "Earth Day Restoration at Oak Haven Park" "lekwungen Community Toolshed Maplebank" "lekwungen Community Toolshed Maplebank" "lekwungen Community Toolshed Maplebank" ...
## $ Partner : chr "Central Saanich" "Cheryl Bryce" "Cheryl Bryce" "Cheryl Bryce" ...
## $ Volunteers : int 21 40 25 50 25 42 28 0 20 22 ...
## $ Volunteer_Hours: int 84 120 75 150 75 126 84 0 80 88 ...
## $ Notes : chr "" "" "" "" ...
## $ Year : chr "2024" "2023" "2024" "2024" ...
unique(HAT_data_Volevents$Event)## [1] "Earth Day Restoration at Oak Haven Park"
## [2] "lekwungen Community Toolshed Maplebank"
## [3] "SNIDCEL Resiliency Project"
## [4] "WSI,KEM Ivy Project"
custom_colours_4 <- c("WSI,KEM Ivy Project" = "#a6cee3",
"lekwungen Community Toolshed Maplebank" = "#1f78b4",
"SNIDCEL Resiliency Project" = "#b2df8a",
"Earth Day Restoration at Oak Haven Park" = "#33a02c")
HAT_data_Volevents_plot <-
ggplot(HAT_data_Volevents, aes(x = Date, y = Volunteer_Hours, fill = Event)) +
geom_bar(stat = "identity", width = 5, position = "dodge") +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position ="right") +
theme(axis.text.x = element_text(angle = 0, vjust = 1, hjust=1, size = 7)) +
scale_fill_manual(values = custom_colours_4) +
labs(title='HAT Volunteer events',
subtitle='2023-2024',
caption = "Chart by Wendy Anthony \n 2025-11-17", fill = "Event",
x = "Date", y = "Volunteer Hours")
HAT_data_Volevents_plot## Warning: `position_dodge()` requires non-overlapping x intervals
# https://github.com/daattali/timevis
library(timevis)
# ?timevis()
# view minimal timeline
# timevis()
# create new file with changed column names for timevis
# change When to start
names(OH_timeline)[names(OH_timeline) == "When"] <- "start"
names(OH_timeline)[names(OH_timeline) == "What"] <- "content"
# add new column and duplicate When
# if an end date
# OH_timeline$end <- NA
# OH_timeline$end <- OH_timeline$start
OH_timeline## content start EventType Where
## 1 OHP Monitoring Cover 2025-04-02 Cover_Monitor Oak Haven Park
## 2 OHP Monitoring Cover 2025-04-03 Cover_Monitor Oak Haven Park
## 3 OHP Treatment 2024-04-02 Treatment_Event Oak Haven Park
## 4 HP Park Creation 2002-01-01 Park_Created Havenwood Park
## 5 MCA Park Creation 1997-01-01 Park_Created Matson Conservation Area
## 6 OHP Covenant Creation 2004-01-01 Covenant_Creation Oak Haven Park
## LocationID group end
## 1 OHP monitoring <NA>
## 2 OHP monitoring <NA>
## 3 OHP treatment <NA>
## 4 HP park_creation <NA>
## 5 MCA park_creation <NA>
## 6 OHP covenant_creation <NA>
timevis(Timeline_OH_vis)today <- as.character(Sys.Date())
hat_timedata <- data.frame(
id = 1:5,
start = c("2024-04-02", "2025-04-02", "2002-01-01", "1997-01-01", "2004-01-01"),
end = c("2024-04-03", "2025-04-03", NA, NA, NA),
# end = c("2024-04-03", "2025-04-03", today, today, today),
# start = Sys.Date() + c(1, - 10, 4, 20, -10, 10),
# end = c(rep(as.Date(NA), 4), Sys.Date(), Sys.Date() + 20),
group = c(1,1,2,3,1),
content = c("OHP Treatment", "OHP Monitoring Cover", "HP Park Creation", "MCA Park Creation", "OHP Covenant Creation")
#,
#subgroup = c("1.1", "1.2", "1.2", "2.1", "2.2", "2.2")
)
timevis(hat_timedata)# HAT_timevisDataGroups_what <- data.frame(
# id = c("treat", "monitor", "park_creation", "covenant_creation"),
# content = c("Treatment", "Monitoring", "Park Creation", "Covenant Creation")
# )
HAT_timevisDataGroups_where <- data.frame(
id = 1:3,
content = c("Oak Haven Park", "Havenwood Park", "Matson Conservation Area"),
style = "font-weight: bold"
)
# timevis::timevis(data = hat_timedata, groups = HAT_timevisDataGroups_what, options = list(stack = TRUE))
timevis::timevis(data = hat_timedata, groups = HAT_timevisDataGroups_where, options = list(orientation = 'bottom'), showZoom = TRUE, zoomFactor = 0.5, fit = TRUE)# horizontalScroll = TRUE, verticalScroll = TRUE not working
# zoomFactor = 0.5,# https://github.com/daattali/timevis
library(timevis)
str(HAT_sites)## 'data.frame': 3 obs. of 14 variables:
## $ ID : chr "OHP" "HP" "MCA"
## $ Site : chr "Oak Haven Park" "Havenwood Park" "Matson Conservation Area"
## $ Lat : num 48.6 48.4 48.4
## $ Lng : num -123 -124 -123
## $ Municipality : chr "Central Saanich" "Colwood" "Esquimalt"
## $ FirstNations : chr "W̱SÁNEĆ" "Songhees, Esquimalt, WSANEC, Beecher Bay, T'Sou-ke" "Songhees, Esquimalt"
## $ Park_Creation : int 1997 2002 NA
## $ HAT_Status : chr "Co-Covenant" "Co-Covenant" "Donation by Mandalay Developments Ltd."
## $ Date : int 2004 NA 2004
## $ Co_Covenant : chr "Land Conservancy" "City of Colwood" "Nature Conservancy of Canada; Township of Esquimalt"
## $ Size_ha : num 10.2 16.5 NA
## $ Ecosystems : chr "" "5 wetlands; 3 small streams; 7 bedrock outcroppings" "Garry oak ecosystem"
## $ Funding : chr "" "" "TD FEF; Sitka Foundation; Conservation Economic Stimulus Initiative; Habitat Conservation Trust Foundation; Env"| __truncated__
## $ Volunteer_Stewardship: chr "" "Friends of Havenwood Park" "Friends of Matson Lands"
colnames(HAT_sites)## [1] "ID" "Site" "Lat"
## [4] "Lng" "Municipality" "FirstNations"
## [7] "Park_Creation" "HAT_Status" "Date"
## [10] "Co_Covenant" "Size_ha" "Ecosystems"
## [13] "Funding" "Volunteer_Stewardship"
str(Timeline_OH_vis)## 'data.frame': 3 obs. of 4 variables:
## $ content : chr "OHP Monitoring Cover" "OHP Monitoring Cover" "OHP Treatment"
## $ start : chr "2025-04-02" "2025-04-03" "2024-04-02"
## $ EventType: chr "Cover_Monitor" "Cover_Monitor" "Treatment_Event"
## $ Where : chr "Oak Haven Park" "Oak Haven Park" "Oak Haven Park"
colnames(Timeline_OH_vis)## [1] "content" "start" "EventType" "Where"
?timevis
HAT_timevisDataGroups <- data.frame(
id = c("treat", "monitor", "park_creation", "covenant_creation"),
content = c("Treatment", "Monitoring", "Park Creation", "Covenant Creation")
)
HAT_timevisDataGroups## id content
## 1 treat Treatment
## 2 monitor Monitoring
## 3 park_creation Park Creation
## 4 covenant_creation Covenant Creation
OH_timeline## content start EventType Where
## 1 OHP Monitoring Cover 2025-04-02 Cover_Monitor Oak Haven Park
## 2 OHP Monitoring Cover 2025-04-03 Cover_Monitor Oak Haven Park
## 3 OHP Treatment 2024-04-02 Treatment_Event Oak Haven Park
## 4 HP Park Creation 2002-01-01 Park_Created Havenwood Park
## 5 MCA Park Creation 1997-01-01 Park_Created Matson Conservation Area
## 6 OHP Covenant Creation 2004-01-01 Covenant_Creation Oak Haven Park
## LocationID group end
## 1 OHP monitoring <NA>
## 2 OHP monitoring <NA>
## 3 OHP treatment <NA>
## 4 HP park_creation <NA>
## 5 MCA park_creation <NA>
## 6 OHP covenant_creation <NA>
timevis(Timeline_OH_vis)timevis(OH_timeline)OH_timeline
# https://www.r4photobiology.info/galleries/plot-timeline.html
colnames(OH_timeline)## [1] "content" "start" "EventType" "Where" "LocationID"
## [6] "group" "end"
library(ggrepel)
OH_timeline_plot <- ggplot(OH_timeline, aes(x = start, y = EventType, label = paste(Where, start, sep = "-"))) +
# label = paste(wt, "^(", cyl, ")", sep = "")),
#OH_timeline_plot <- ggplot(OH_timeline, aes(x = When, y = EventType, label = What)) +
geom_line() +
geom_point(data = . %>% filter(Where != "")) +
# geom_point(data = . %>% filter(What != "")) +
# geom_text(aes(colour = EventType), hjust = -0.3, angle = 45) +
# geom_text(size = 1.0) +
#geom_text(aes(colour = EventType), hjust = -0.3, angle = 45, size = 3.0) +
geom_text_repel(aes(colour = EventType),
direction = "y",
size = 2.5,
point.padding = 0.5,
hjust = 0,
box.padding = 1,
seed = 123) +
scale_x_date(name = "When", date_breaks = "4 months",
expand = expansion(mult = c(0.0, 0.9))) +
# expand = expansion(mult = c(0.05, 0.9))) +
# coord_cartesian(xlim = c("2024-01-01", "2026-01-01")) +
# scale_x_continuous(limits = c(2024-01-01, 2026-01-01)) +
scale_y_discrete(name = "",
expand = expansion(mult = c(0.2, 0.95))) +
scale_colour_manual(values = c(Cover_Monitor = "seagreen", Treatment_Event = "purple"), guide = "none") +
theme_minimal() +
labs(title='Timeline of HAT GOE Monitoring',
# subtitle='HAT GOE Monitoring',
# subtitl='Oak Haven Park',
caption = "Chart by Wendy Anthony \n 2025-10-06")
OH_timeline_plotOH_timeline
# https://www.r4photobiology.info/galleries/plot-timeline.html
colnames(OH_timeline)## [1] "content" "start" "EventType" "Where" "LocationID"
## [6] "group" "end"
library(ggrepel)
OH_timeline_plot <- ggplot(OH_timeline, aes(x = start, y = EventType, label = paste(Where, start, sep = "-"))) +
# label = paste(wt, "^(", cyl, ")", sep = "")),
#OH_timeline_plot <- ggplot(OH_timeline, aes(x = When, y = EventType, label = What)) +
geom_line() +
geom_point(data = . %>% filter(Where != "")) +
# geom_point(data = . %>% filter(What != "")) +
# geom_text(aes(colour = EventType), hjust = -0.3, angle = 45) +
# geom_text(size = 1.0) +
geom_text_repel(direction = "y",
size = 2.5,
point.padding = 0.5,
hjust = 0,
box.padding = 1,
seed = 123) +
scale_x_date(name = "When", date_breaks = "4 months",
expand = expansion(mult = c(0.0, 0.9))) +
# expand = expansion(mult = c(0.05, 0.9))) +
# coord_cartesian(xlim = c("2024-01-01", "2026-01-01")) +
# scale_x_continuous(limits = c(2024-01-01, 2026-01-01)) +
scale_y_discrete(name = "",
expand = expansion(mult = c(0.2, 0.95))) +
scale_colour_manual(values = c(Cover_Monitor = "seagreen", Treatment_Event = "purple"), guide = "none") +
theme_minimal() +
labs(title='Timeline of HAT GOE Monitoring',
# subtitle='HAT GOE Monitoring',
# subtitl='Oak Haven Park',
caption = "Chart by Wendy Anthony \n 2025-10-06")
OH_timeline_plotlength(unique(oakhaven_2025_cover_sub_nat_tr$Species)) #11## [1] 11
length(unique(oakhaven_2025_cover_sub_inv_tr$Species)) #3## [1] 3
length(unique(oakhaven_2025_cover$Species)) #18## [1] 20
colnames(oakhaven_2025_cover)## [1] "SortID" "MonitorID" "QUniqueID"
## [4] "Date" "Year" "Location"
## [7] "Treated" "YearTreated" "ExSpTabTitle"
## [10] "Baseline" "Quadrat" "QuadratLocation_m"
## [13] "Species" "Native_or_Invasive" "PercentCover"
## [16] "OriginalSpecies"
oakhaven_2025_cover_sub <- oakhaven_2025_cover[-c(1:6,8:12,16)]
colnames(oakhaven_2025_cover_sub)## [1] "Treated" "Species" "Native_or_Invasive"
## [4] "PercentCover"
library(ggplot2)
library(magrittr) # required for %>%##
## Attaching package: 'magrittr'
## The following object is masked from 'package:purrr':
##
## set_names
## The following object is masked from 'package:tidyr':
##
## extract
library(plotly)
# https://ourcodingclub.github.io/tutorials/data-vis-2/
species_counts <- oakhaven_2025_cover_sub %>%
dplyr::group_by(Treated, Native_or_Invasive) %>%
dplyr::summarise(Species_number = length(unique(Species)))## `summarise()` has grouped output by 'Treated'. You can override using the
## `.groups` argument.
colnames(species_counts) # [1] "Treated" "Native_or_Invasive" "Species_number" ## [1] "Treated" "Native_or_Invasive" "Species_number"
# create custom colour-blind-friendly palette
custom_colours_3 <- c("Invasive" = "#fc8d62",
"Native" = "#66c2a5",
"MixedGrass" = "#8da0cb")
# custom_colours_3 <- c("Native" = "#1b9e77",
# "Invasive" = "#d95f02",
# "MixedGrass" = "#7570b3")
oakhaven_2025_sp_rich_treat_plot <-
ggplot(species_counts, aes(x = Treated, y = Species_number, fill = Native_or_Invasive)) +
geom_bar(stat = "identity", width = 0.5, position = "dodge") +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position ="bottom") +
theme(axis.text.x = element_text(angle = 0, vjust = 1, hjust=1, size = 7)) +
scale_fill_manual(values = custom_colours_3) +
labs(title='Species Richness by Treatment',
subtitle='2025 Oak Haven Park',
caption = "Chart by Wendy Anthony \n 2025-11-10", fill = "",
x = "Treatment", y = "Species Count")
oakhaven_2025_sp_rich_treat_plot# ggplotly
ggplotly(oakhaven_2025_sp_rich_treat_plot)# ggsave(filename = paste0("images/oakhaven_2025_sp_rich_treat_plot_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), oakhaven_2025_sp_rich_treat_plot)length(unique(oakhaven_2025_cover_sub_nat_tr$Species)) #11## [1] 11
length(unique(oakhaven_2025_cover_sub_inv_tr$Species)) #3## [1] 3
length(unique(oakhaven_2025_cover$Species)) #18## [1] 20
colnames(oakhaven_2025_cover)## [1] "SortID" "MonitorID" "QUniqueID"
## [4] "Date" "Year" "Location"
## [7] "Treated" "YearTreated" "ExSpTabTitle"
## [10] "Baseline" "Quadrat" "QuadratLocation_m"
## [13] "Species" "Native_or_Invasive" "PercentCover"
## [16] "OriginalSpecies"
oakhaven_2025_cover_sub <- oakhaven_2025_cover[-c(1:6,8:12,16)]
colnames(oakhaven_2025_cover_sub)## [1] "Treated" "Species" "Native_or_Invasive"
## [4] "PercentCover"
library(ggplot2)
library(magrittr) # required for %>%
library(plotly)
species_counts <- oakhaven_2025_cover_sub %>%
dplyr::group_by(Treated, Native_or_Invasive) %>%
dplyr::summarise(Species_number = length(unique(Species)))## `summarise()` has grouped output by 'Treated'. You can override using the
## `.groups` argument.
colnames(species_counts) # [1] "Treated" "Native_or_Invasive" "Species_number" ## [1] "Treated" "Native_or_Invasive" "Species_number"
# create custom colour-blind-friendly palette
custom_colours_4 <- c("Treated" = "#b2df8a",
"Untreated" = "#1f78b4")
oakhaven_2025_sp_rich_nat_inv_plot <-
ggplot(species_counts, aes(x = Native_or_Invasive, y = Species_number, fill = Treated)) +
geom_bar(stat = "identity", width = 0.5, position = "dodge") +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position ="bottom") +
theme(axis.text.x = element_text(angle = 0, vjust = 1, hjust=1, size = 7)) +
scale_fill_manual(values = custom_colours_4) +
labs(title='Species Richness by Treatment',
subtitle='2025 Oak Haven Park',
caption = "Chart by Wendy Anthony \n 2025-11-10", fill = "",
#x = "Native / Invasive",
y = "Species Count")
oakhaven_2025_sp_rich_nat_inv_plot# ggplotly
# ggplotly(oakhaven_2025_sp_rich_nat_inv_plot)
ggplotly(tooltip = c("x", "y", "fill"), oakhaven_2025_sp_rich_nat_inv_plot) %>%
config(displayModeBar = FALSE) %>% # This line disables the modebar
layout(title = list(
text = "Comparing Species Richness<br><sup>2025 Oak Haven Park</sup>",
y = 0.95), # Adjust vertical position if needed
xaxis = list(title = NA),
yaxis = list(title = 'Species Count'),
legend = list(x=0.4,
xanchor='left',
yanchor='bottom',
orientation='h'),
annotations = list(x = 1, y = -0.1, text = "Chart by Wendy Anthony\n2025-11-10",
showarrow = F, xref='paper', yref='paper',
xanchor='right', yanchor= 'auto', xshift=0, yshift=0,
font = list(size=8, color="grey")
))# ggsave(filename = paste0("images/oakhaven_2025_sp_rich_nat_inv_plot_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), oakhaven_2025_sp_rich_nat_inv_plot)colnames(oakhaven_group_quadrats)## [1] "SortID" "MonitorID" "QUniqueID"
## [4] "Date" "Year" "Location"
## [7] "Treated" "YearTreated" "ExSpTabTitle"
## [10] "Baseline" "Quadrat" "QuadratLocation_m"
## [13] "Species" "Native_or_Invasive" "PercentCover"
## [16] "OriginalSpecies"
oakhaven_group_quadrats_species_plot <- ggplot(oakhaven_group_quadrats,
aes(x = Species, y = PercentCover, fill = QUniqueID)) +
ylim(0, 100) +
#geom_bar(stat = "identity", fill = "seagreen") +
geom_bar(stat = "identity") +
theme_minimal() + #get rid of grey background and tick marks
# theme(legend.position="none") + #remove legend
theme(axis.text.x = element_text(angle = 25, vjust = 1, hjust=1, size = 7)) +
labs(title='Comparing Quadrats Percentage Species Coverage',
subtitle='2025 Oak Haven Park',
caption = "Chart by Wendy Anthony \n 2025-10-05")
oakhaven_group_quadrats_species_plot## Warning: Removed 10 rows containing missing values (`geom_bar()`).
# ggsave(filename = paste0("images/oakhaven_group_quadrats_species_plot_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), oakhaven_group_quadrats_species_plot)
## ggplotly
ggplotly(tooltip = c("x", "y", "color", "fill"), oakhaven_group_quadrats_species_plot) %>%
config(displayModeBar = FALSE) %>% # This line disables the modebar
layout(title = list(
text = "Comparing Quadrats Percentage Species Coverage<br><sup>2025 Oak Haven Park</sup>",
y = 0.95), # Adjust vertical position if needed
xaxis = list(title = 'Unique Quadrat'),
yaxis = list(title = 'Percentage Cover'),
annotations = list(x = 1, y = -0.1, text = "Chart by Wendy Anthony\n2025-10-05",
showarrow = F, xref='paper', yref='paper',
xanchor='right', yanchor= 'auto', xshift=0, yshift=0,
font = list(size=8, color="grey")
))colnames(oakhaven_group_quadrats)## [1] "SortID" "MonitorID" "QUniqueID"
## [4] "Date" "Year" "Location"
## [7] "Treated" "YearTreated" "ExSpTabTitle"
## [10] "Baseline" "Quadrat" "QuadratLocation_m"
## [13] "Species" "Native_or_Invasive" "PercentCover"
## [16] "OriginalSpecies"
oakhaven_group_quadrats_species_plot <- ggplot(oakhaven_group_quadrats,
aes(x = QUniqueID, y = PercentCover, fill = Species)) +
ylim(0, 100) +
#geom_bar(stat = "identity", fill = "seagreen") +
geom_bar(stat = "identity") +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.title=element_blank()) +
theme(axis.text.x = element_text(angle = 25, vjust = 1, hjust=1, size = 7)) +
labs(title='Comparing Quadrats Percentage Species Coverage',
subtitle='2025 Oak Haven Park',
caption = "Chart by Wendy Anthony \n 2025-10-05")
oakhaven_group_quadrats_species_plot# ggsave(filename = paste0("images/oakhaven_group_quadrats_species_plot_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), oakhaven_group_quadrats_species_plot)
## ggplotly
ggplotly(tooltip = c("x", "y", "color", "fill"), oakhaven_group_quadrats_species_plot) %>%
config(displayModeBar = FALSE) %>% # This line disables the modebar
layout(title = list(
text = "Comparing Quadrats Percentage Species Coverage<br><sup>Oak Haven Park</sup>",
y = 0.95), # Adjust vertical position if needed
xaxis = list(title = 'Unique Quadrat'),
yaxis = list(title = 'Percentage Cover'),
annotations = list(x = 1, y = -0.1, text = "Chart by Wendy Anthony\n2025-10-05"
# no legend
,
showarrow = F, xref='paper', yref='paper',
xanchor='right', yanchor= 'auto', xshift=0, yshift=0,
font = list(size=8, color="grey")
)
)colnames(oakhaven_2025_cover)## [1] "SortID" "MonitorID" "QUniqueID"
## [4] "Date" "Year" "Location"
## [7] "Treated" "YearTreated" "ExSpTabTitle"
## [10] "Baseline" "Quadrat" "QuadratLocation_m"
## [13] "Species" "Native_or_Invasive" "PercentCover"
## [16] "OriginalSpecies"
oakhaven_group_quadrats_nat_inv_plot <- ggplot(oakhaven_2025_cover,
aes(x = QUniqueID, y = PercentCover, fill = Native_or_Invasive)) +
ylim(0, 100) +
#geom_bar(stat = "identity", fill = "seagreen") +
geom_bar(stat = "identity") +
theme_minimal() + #get rid of grey background and tick marks
# theme(legend.position="none") + #remove legend
theme(legend.title=element_blank()) +
theme(axis.text.x = element_text(angle = 25, vjust = 1, hjust=1, size = 7)) +
labs(title='Comparing Quadrats Percentage Native and Invasive Species Coverage',
subtitle='2025 Oak Haven Park',
caption = "Chart by Wendy Anthony \n 2025-10-05")
oakhaven_group_quadrats_nat_inv_plot# ggsave(filename = paste0("images/oakhaven_group_quadrats_nat_inv_plot_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), oakhaven_group_quadrats_nat_inv_plot)
## ggplotly
ggplotly(tooltip = c("x", "y", "color", "fill"), oakhaven_group_quadrats_nat_inv_plot) %>%
config(displayModeBar = FALSE) %>% # This line disables the modebar
layout(title = list(
text = "Comparing Quadrats Percentage Native/Invasive Coverage<br><sup>Oak Haven Park</sup>",
y = 0.95), # Adjust vertical position if needed
xaxis = list(title = 'Unique Quadrat'),
yaxis = list(title = 'Percentage Cover'),
legend = list(title = list(text = NA)),
annotations = list(x = 1, y = -0.1, text = "Chart by Wendy Anthony\n2025-10-05"
# no legend
,
showarrow = F, xref='paper', yref='paper',
xanchor='right', yanchor= 'auto', xshift=0, yshift=0,
font = list(size=8, color="grey")
))QUniqueID columncolnames(oakhaven_group_quadrats)## [1] "SortID" "MonitorID" "QUniqueID"
## [4] "Date" "Year" "Location"
## [7] "Treated" "YearTreated" "ExSpTabTitle"
## [10] "Baseline" "Quadrat" "QuadratLocation_m"
## [13] "Species" "Native_or_Invasive" "PercentCover"
## [16] "OriginalSpecies"
oakhaven_2025_cover_nat_plot <- ggplot(oakhaven_2025_cover_nat,
aes(x = QUniqueID, y = PercentCover, fill = Species)) +
ylim(0, 100) +
#geom_bar(stat = "identity", fill = "seagreen") +
geom_bar(stat = "identity") +
theme_minimal() + #get rid of grey background and tick marks
# theme(legend.position="none") + #remove legend
theme(axis.text.x = element_text(angle = 25, vjust = 1, hjust=1, size = 7)) +
labs(title='Comparing Quadrats Percentage Native Species Coverage',
subtitle='2025 Oak Haven Park',
caption = "Chart by Wendy Anthony \n 2025-10-05")
oakhaven_2025_cover_nat_plot# ggsave(filename = paste0("images/oakhaven_2025_cover_nat_plot_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), oakhaven_2025_cover_nat_plot)
## ggplotly
ggplotly(tooltip = c("x", "y", "color", "fill"), oakhaven_2025_cover_nat_plot) %>%
config(displayModeBar = FALSE) %>% # This line disables the modebar
layout(title = list(
text = "Comparing Quadrats Percentage Native Species Coverage<br><sup>Oak Haven Park</sup>",
y = 0.95), # Adjust vertical position if needed
xaxis = list(title = 'Unique Quadrat'),
yaxis = list(title = 'Percentage Cover'),
annotations = list(x = 1, y = -0.1, text = "Chart by Wendy Anthony\n2025-10-05"
# no legend
,
showarrow = F, xref='paper', yref='paper',
xanchor='right', yanchor= 'auto', xshift=0, yshift=0,
font = list(size=8, color="grey")
))colnames(oakhaven_2025_cover_inv)## [1] "SortID" "MonitorID" "QUniqueID"
## [4] "Date" "Year" "Location"
## [7] "Treated" "YearTreated" "ExSpTabTitle"
## [10] "Baseline" "Quadrat" "QuadratLocation_m"
## [13] "Species" "Native_or_Invasive" "PercentCover"
## [16] "OriginalSpecies"
oakhaven_2025_cover_inv_plot <- ggplot(oakhaven_2025_cover_inv,
aes(x = QUniqueID, y = PercentCover, fill = Species)) +
ylim(0, 100) +
#geom_bar(stat = "identity", fill = "seagreen") +
geom_bar(stat = "identity") +
theme_minimal() + #get rid of grey background and tick marks
# theme(legend.position="none") + #remove legend
theme(axis.text.x = element_text(angle = 25, vjust = 1, hjust=1, size = 7)) +
labs(title='Comparing Quadrats % Invasive Species Coverage',
subtitle='2025 Oak Haven Park (mithout mixed grasses)',
caption = "Chart by Wendy Anthony \n 2025-10-05")
oakhaven_2025_cover_inv_plot## ggplotly
ggplotly(tooltip = c("x", "y", "color", "fill"), oakhaven_2025_cover_inv_plot) %>%
config(displayModeBar = FALSE) %>% # This line disables the modebar
layout(title = list(
text = "Comparing Quadrats % Invasive Species Coverage<br><sup>Oak Haven Park (without mixed grasses)</sup>",
y = 0.95), # Adjust vertical position if needed
xaxis = list(title = 'Unique Quadrat'),
yaxis = list(title = 'Percentage Cover'),
annotations = list(x = 1, y = -0.1, text = "Chart by Wendy Anthony\n2025-10-05"
# no legend
,
showarrow = F, xref='paper', yref='paper',
xanchor='right', yanchor= 'auto', xshift=0, yshift=0,
font = list(size=8, color="grey")
))colnames(oakhaven_2025_cover_mix)## [1] "SortID" "MonitorID" "QUniqueID"
## [4] "Date" "Year" "Location"
## [7] "Treated" "YearTreated" "ExSpTabTitle"
## [10] "Baseline" "Quadrat" "QuadratLocation_m"
## [13] "Species" "Native_or_Invasive" "PercentCover"
## [16] "OriginalSpecies"
oakhaven_2025_cover_mix_plot <- ggplot(oakhaven_2025_cover_mix,
aes(x = QUniqueID, y = PercentCover, fill = Species)) +
ylim(0, 100) +
#geom_bar(stat = "identity", fill = "seagreen") +
geom_bar(stat = "identity") +
theme_minimal() + #get rid of grey background and tick marks
# theme(legend.position="none") + #remove legend
theme(axis.text.x = element_text(angle = 25, vjust = 1, hjust=1, size = 7)) +
labs(title='Comparing Quadrats Percentage Mixed Species Coverage',
subtitle='2025 Oak Haven Park',
caption = "Chart by Wendy Anthony \n 2025-10-05")
oakhaven_2025_cover_mix_plot## ggplotly
ggplotly(tooltip = c("x", "y", "color", "fill"), oakhaven_2025_cover_mix_plot) %>%
config(displayModeBar = FALSE) %>% # This line disables the modebar
layout(title = list(
text = "Comparing Quadrats Percent Cover Mixed Grass & Moss <br><sup>Oak Haven Park</sup>",
y = 0.95), # Adjust vertical position if needed
xaxis = list(title = 'Unique Quadrat'),
yaxis = list(title = 'Percentage Cover'),
annotations = list(x = 1, y = -0.1, text = "Chart by Wendy Anthony\n2025-10-05"
# no legend
,
showarrow = F, xref='paper', yref='paper',
xanchor='right', yanchor= 'auto', xshift=0, yshift=0,
font = list(size=8, color="grey")
))("Must request at least one colour from a hue palette."# # colnames(oakhaven_2025_cover_nat)
#
# oakhaven_2025_cover_nat_plot <- ggplot(oakhaven_2025_cover_nat,
# aes(x = Species, y = PercentCover, fill = QUniqueID)) +
# ylim(0, 100) +
# #geom_bar(stat = "identity", fill = "seagreen") +
# geom_bar(stat = "identity") +
# theme_minimal() + #get rid of grey background and tick marks
# # theme(legend.position="none") + #remove legend
# theme(axis.text.x = element_text(angle = 25, vjust = 1, hjust=1, size = 7)) +
# labs(title='Comparing Quadrats Percentage Native Species Coverage',
# subtitle='2025 Oak Haven Park',
# caption = "Chart by Wendy Anthony \n 2025-10-05")
# oakhaven_2025_cover_nat_plot
#
# ## ggplotly
# ggplotly(tooltip = c("x", "y", "fill"), oakhaven_2025_cover_nat_plot) %>%
# config(displayModeBar = FALSE) %>% # This line disables the modebar
# layout(title = list(
# text = "Comparing Quadrats Percentage Species Coverage<br><sup>Oak Haven Park</sup>",
# y = 0.95), # Adjust vertical position if needed
# xaxis = list(title = 'Unique Quadrat'),
# yaxis = list(title = 'Percentage Cover'),
# annotations = list(x = 1, y = -0.1, text = "Chart by Wendy Anthony\n2025-10-05"
# # no legend
# ,
# showarrow = F, xref='paper', yref='paper',
# xanchor='right', yanchor= 'auto', xshift=0, yshift=0,
# font = list(size=8, color="grey")
# )
# )oakhaven_2025_cover_untreat_sp_mean## # A tibble: 16 × 3
## Species meanPercentCover Native_or_Invasive
## <chr> <dbl> <chr>
## 1 Menzies larkspur 9 Native
## 2 Oregon grape 11 Native
## 3 Scotch broom 3.5 Invasive
## 4 camas 5.6 Native
## 5 delphinium 3 Native
## 6 fawn lily 3 Native
## 7 field chickweed 1.5 Native
## 8 mixed grass 70.8 MixedGrass
## 9 mixed invasive grasses 53 MixedGrass
## 10 mixed moss and grass 52.5 MixedGrass
## 11 moss 8 Native
## 12 onion 1 Native
## 13 rose 1 Native
## 14 shooting star 3.25 Native
## 15 snowberry 11 Native
## 16 speedwell 1 Invasive
colnames(oakhaven_2025_cover_untreat_sp_mean)## [1] "Species" "meanPercentCover" "Native_or_Invasive"
oakhaven_2025_cover_untreat_sp_mean_violinPlot <- ggplot(oakhaven_2025_cover_untreat_sp_mean,
# text = paste("Site:", Site),
aes(x = Native_or_Invasive, y = meanPercentCover)) +
geom_violin(fill = "#66c2a5") +
geom_boxplot(width = 0.05, fill = "#fc8d62") +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position="bottom") +
theme(axis.text.x = element_text(angle = 0, vjust = 1, hjust=1, size = 7)) +
scale_y_continuous(limits = c(0, 100)) +
labs(title='Untreated Total Mean % Cover',
subtitle='Data: HAT Oak Haven Park',
caption = "Chart by Wendy Anthony \n 2025-10-29",
x = "Native or Invasive",
y = "Mean % Cover (Treated)")
oakhaven_2025_cover_untreat_sp_mean_violinPlot# ggsave(filename = paste0("images/oakhaven_2025_cover_untreat_sp_mean_violinPlot_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), oakhaven_2025_cover_untreat_sp_mean_violinPlot)
# plotly
# ggplotly(oakhaven_2025_cover_untreat_sp_mean_violinPlot)oakhaven_2025_cover_treat_sp_mean## # A tibble: 16 × 3
## Species meanPercentCover Native_or_Invasive
## <chr> <dbl> <chr>
## 1 Menzies larkspur 9.5 Native
## 2 Oregon grape 21.5 Native
## 3 Pacific sanicle 1.67 Native
## 4 Scotch broom 2 Invasive
## 5 camas 7.5 Native
## 6 delphinium 9 Native
## 7 fawn lily 1.6 Native
## 8 field chickweed 3 Native
## 9 herb robert geranium 6.5 Invasive
## 10 mixed grass 34.2 MixedGrass
## 11 mixed moss and grass 48.5 MixedGrass
## 12 moss 16 Native
## 13 saxifrage species 1 Native
## 14 shiny geranium 15.8 Invasive
## 15 shooting star 11 Native
## 16 snowberry 11.7 Native
colnames(oakhaven_2025_cover_treat_sp_mean)## [1] "Species" "meanPercentCover" "Native_or_Invasive"
oakhaven_2025_cover_treat_sp_mean_violinPlot <- ggplot(oakhaven_2025_cover_treat_sp_mean,
aes(x = Native_or_Invasive, y = meanPercentCover)) +
geom_violin(fill = "#66c2a5") +
geom_boxplot(width = 0.05, fill = "#fc8d62") +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position="bottom") +
theme(axis.text.x = element_text(angle = 0, vjust = 1, hjust=1, size = 7)) +
scale_y_continuous(limits = c(0, 100)) +
labs(title='Treated Total Mean % Cover',
subtitle='Data: HAT Oak Haven Park',
caption = "Chart by Wendy Anthony \n 2025-10-29",
y = "Mean % Cover (Treated)")
oakhaven_2025_cover_treat_sp_mean_violinPlot # ggsave(filename = paste0("images/oakhaven_2025_cover_treat_sp_mean_violinPlot_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), oakhaven_2025_cover_treat_sp_mean_violinPlot)# library(gridExtra)
oakhaven_2025_cover_tr_untr_mean_violinPlot <- grid.arrange(arrangeGrob(oakhaven_2025_cover_treat_sp_mean_violinPlot, oakhaven_2025_cover_untreat_sp_mean_violinPlot, ncol = 2)) oakhaven_2025_cover_tr_untr_mean_violinPlot## TableGrob (1 x 1) "arrange": 1 grobs
## z cells name grob
## 1 1 (1-1,1-1) arrange gtable[arrange]
# ggsave(filename = paste0("images/compare_mean_sd_treat_untreat_violin_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), oakhaven_2025_cover_tr_untr_mean_violinPlot)
# ggsave("images/compare_mean_sd_treat_untreat_violin.png", oakhaven_2025_cover_tr_untr_mean_violinPlot)colnames(oakhaven_2025_cover_mean_by_group_species)## [1] "Species" "Treated" "Native_or_Invasive"
## [4] "mean_value" "sd_value"
# create custom colour-blind-friendly palette
custom_colours_2 <- c("Treated" = "#b2df8a",
"Untreated" = "#1f78b4")
oakhaven_2025_cover_mean_by_group_species_plot <- ggplot(oakhaven_2025_cover_mean_by_group_species, aes(Species, mean_value, fill = Treated)) +
geom_bar(stat = "identity", width = 0.5, position = "dodge") +
geom_errorbar(aes(ymin = mean_value - sd_value, ymax = mean_value + sd_value), width =.02, position = position_dodge(0.5)) +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position ="bottom") +
theme(axis.text.x = element_text(angle = 25, vjust = 1, hjust=1, size = 7)) +
scale_fill_manual(values = custom_colours_2) +
labs(title='Species Mean % Cover (& SD) by Treat',
subtitle='2025 Oak Haven Park',
caption = "Chart by Wendy Anthony \n 2025-11-02",
x = "", y = "Mean % Cover", fill = "")
oakhaven_2025_cover_mean_by_group_species_plot# ggsave(filename = paste0("images/oakhaven_2025_cover_mean_by_group_species_plot_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), oakhaven_2025_cover_mean_by_group_species_plot)colnames(oakhaven_2025_cover_mean_by_group_species)## [1] "Species" "Treated" "Native_or_Invasive"
## [4] "mean_value" "sd_value"
# create custom colour-blind-friendly palette
custom_colours_2 <- c("Treated" = "#b2df8a",
"Untreated" = "#1f78b4")
oakhaven_2025_cover_mean_by_group_species_nograss_plot <- oakhaven_2025_cover_mean_by_group_species %>%
filter(Native_or_Invasive != "MixedGrass") %>%
ggplot(aes(Species, mean_value, fill = Treated)) +
geom_bar(stat = "identity", width = 0.5, position = "dodge") +
geom_errorbar(aes(ymin = mean_value - sd_value, ymax = mean_value + sd_value), width =.02, position = position_dodge(0.5)) +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position ="bottom") +
theme(axis.text.x = element_text(angle = 25, vjust = 1, hjust=1, size = 7)) +
scale_fill_manual(values = custom_colours_2) +
labs(title='Species Mean % Cover (& SD) by Treat',
subtitle='2025 Oak Haven Park (no grass)',
caption = "Chart by Wendy Anthony \n 2025-11-10",
x = "", y = "Mean % Cover", fill = "")
oakhaven_2025_cover_mean_by_group_species_nograss_plot# ggsave(filename = paste0("images/oakhaven_2025_cover_mean_by_group_species_nograss_plot_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), oakhaven_2025_cover_mean_by_group_species_nograss_plot)Comparing All Species Mean % Cover (and Standard Deviation) by Treatment
# library(gridExtra)
combine_oakhaven_2025_cover_tr_untr_mean_bar_dodge_Plot <- grid.arrange(arrangeGrob(oakhaven_2025_cover_mean_by_group_species_plot, oakhaven_2025_cover_mean_by_group_species_nograss_plot, ncol = 2)) # ggsave(filename = paste0("images/combine_oakhaven_2025_cover_tr_untr_mean_bar_dodge_Plot_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), combine_oakhaven_2025_cover_tr_untr_mean_bar_dodge_Plot)colnames(oakhaven_2025_cover_mean_by_group_species)## [1] "Species" "Treated" "Native_or_Invasive"
## [4] "mean_value" "sd_value"
oakhaven_2025_cover_mean_by_group_species_nat <- oakhaven_2025_cover_mean_by_group_species[oakhaven_2025_cover_mean_by_group_species$Native_or_Invasive == "Native",]
# create custom colour-blind-friendly palette
custom_colours_2 <- c("Treated" = "#b2df8a",
"Untreated" = "#1f78b4")
oakhaven_2025_cover_mean_by_group_species_nat_plot <- ggplot(oakhaven_2025_cover_mean_by_group_species_nat, aes(Species, mean_value, fill = Treated)) +
geom_bar(stat = "identity", width = 0.5, position = "dodge") +
geom_errorbar(aes(ymin = mean_value - sd_value, ymax = mean_value + sd_value), width =.02, position = position_dodge(0.5)) +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position ="bottom") +
theme(axis.text.x = element_text(angle = 25, vjust = 1, hjust=1, size = 7)) +
scale_fill_manual(values = custom_colours_2) +
labs(title='Comparing Native Species Mean % Cover (& SD) by Treatment',
subtitle='2025 Oak Haven Park',
caption = "Chart by Wendy Anthony \n 2025-11-02",
x = "", y = "Mean % Cover", fill = "")
oakhaven_2025_cover_mean_by_group_species_nat_plot# ggsave(filename = paste0("images/oakhaven_2025_cover_mean_by_group_species_nat_barplot_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), oakhaven_2025_cover_mean_by_group_species_nat_plot)
# ggsave("images/oakhaven_2025_cover_mean_by_group_species_nat_barplot.png", oakhaven_2025_cover_mean_by_group_species_nat_plot)colnames(oakhaven_2025_cover_mean_by_group_species)## [1] "Species" "Treated" "Native_or_Invasive"
## [4] "mean_value" "sd_value"
oakhaven_2025_cover_mean_by_group_species_inv <- oakhaven_2025_cover_mean_by_group_species[oakhaven_2025_cover_mean_by_group_species$Native_or_Invasive == "Invasive",]
# create custom colour-blind-friendly palette
custom_colours_2 <- c("Treated" = "#b2df8a",
"Untreated" = "#1f78b4")
oakhaven_2025_cover_mean_by_group_species_inv_plot <- ggplot(oakhaven_2025_cover_mean_by_group_species_inv, aes(Species, mean_value, fill = Treated)) +
geom_bar(stat = "identity", width = 0.5, position = "dodge") +
geom_errorbar(aes(ymin = mean_value - sd_value, ymax = mean_value + sd_value), width =.02, position = position_dodge(0.5)) +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position ="bottom") +
theme(axis.text.x = element_text(angle = 25, vjust = 1, hjust=1, size = 7)) +
scale_fill_manual(values = custom_colours_2) +
labs(title='Comparing Invasive Species Mean % Cover (& SD) by Treatment',
subtitle='2025 Oak Haven Park (no grass)',
caption = "Chart by Wendy Anthony \n 2025-11-02",
x = "", y = "Mean % Cover", fill = "")
oakhaven_2025_cover_mean_by_group_species_inv_plot# ggsave(filename = paste0("images/oakhaven_2025_cover_mean_by_group_species_inv_barplot_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), oakhaven_2025_cover_mean_by_group_species_inv_plot)
# ggsave("images/oakhaven_2025_cover_mean_by_group_species_inv_barplot.png", oakhaven_2025_cover_mean_by_group_species_inv_plot)# create custom colour-blind-friendly palette
custom_colours <- c("Invasive" = "#fc8d62",
"Native" = "#66c2a5",
"MixedGrass" = "#8da0cb")
oakhaven_2025_cover_treat_sp_mean_plot <- ggplot(oakhaven_2025_cover_treat_sp_mean,
aes(x = Species, y = meanPercentCover, fill = Native_or_Invasive)) +
ylim(0, 100) +
geom_bar(stat = "identity") +
scale_fill_manual(values = custom_colours, name = "Native/Invasive") +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position ="bottom") +
theme(legend.title=element_blank()) +
theme(axis.text.x = element_text(angle = 25, vjust = 1, hjust=1, size = 7)) +
labs(title='Comparing Mean Percentage Species Coverage in Treated Plots',
subtitle='2025 Oak Haven Park',
caption = "Chart by Wendy Anthony \n 2025-10-29",
y = "Mean % Cover (Treated)")
oakhaven_2025_cover_treat_sp_mean_plot# ggsave(filename = paste0("images/oakhaven_2025_cover_treat_sp_mean_plot_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), oakhaven_2025_cover_treat_sp_mean_plot)# create custom colour-blind-friendly palette
custom_colours <- c("Invasive" = "#fc8d62",
"Native" = "#66c2a5",
"MixedGrass" = "#8da0cb")
oakhaven_2025_cover_treat_sp_mean_nograss_plot <- oakhaven_2025_cover_treat_sp_mean %>%
filter(Native_or_Invasive != "MixedGrass") %>%
ggplot(
aes(x = Species, y = meanPercentCover, fill = Native_or_Invasive)) +
ylim(0, 30) +
geom_bar(stat = "identity") +
scale_fill_manual(values = custom_colours, name = "Native/Invasive") +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position ="bottom") +
theme(legend.title=element_blank()) +
theme(axis.text.x = element_text(angle = 25, vjust = 1, hjust=1, size = 7)) +
labs(title='Comparing Mean % Species Coverage in Treated Plots',
subtitle='2025 Oak Haven Park (no grass)',
caption = "Chart by Wendy Anthony \n 2025-11-10",
y = "Mean % Cover (Treated)")
oakhaven_2025_cover_treat_sp_mean_nograss_plot# ggsave(filename = paste0("images/oakhaven_2025_cover_treat_sp_mean_nograss_plot_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), oakhaven_2025_cover_treat_sp_mean_nograss_plot)colnames(oakhaven_2025_cover_treat_sp_mean)## [1] "Species" "meanPercentCover" "Native_or_Invasive"
# create custom colour-blind-friendly palette
custom_colours <- c("Invasive" = "#fc8d62",
"Native" = "#66c2a5",
"MixedGrass" = "#8da0cb")
oakhaven_2025_cover_treat_sp_mean_plot_sort <- oakhaven_2025_cover_treat_sp_mean %>% arrange(desc(meanPercentCover)) %>%
# updates Site with new arrangement
mutate(Species = factor(Species, levels = Species)) %>%
ggplot(
aes(x = Species, y = meanPercentCover, fill = Native_or_Invasive)) +
ylim(0, 100) +
geom_bar(stat = "identity") +
scale_fill_manual(values = custom_colours, name = "Native/Invasive") +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position="bottom") +
theme(legend.title=element_blank()) +
theme(axis.text.x = element_text(angle = 25, vjust = 1, hjust=1, size = 7)) +
labs(title='Mean % Species Coverage in Treated Plots',
subtitle='2025 Oak Haven Park',
caption = "Chart by Wendy Anthony \n 2025-11-03",
y = "Mean % Cover (Treated)")
oakhaven_2025_cover_treat_sp_mean_plot_sort# ggsave(filename = paste0("images/oakhaven_2025_cover_treat_sp_mean_plot_sort_barplot_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), oakhaven_2025_cover_treat_sp_mean_plot_sort)
#ggsave("images/oakhaven_2025_cover_treat_sp_mean_plot_sort_barplot.png", oakhaven_2025_cover_treat_sp_mean_plot_sort)colnames(oakhaven_2025_cover_treat_sp_mean)## [1] "Species" "meanPercentCover" "Native_or_Invasive"
# create custom colour-blind-friendly palette
custom_colours <- c("Invasive" = "#fc8d62",
"Native" = "#66c2a5",
"MixedGrass" = "#8da0cb")
oakhaven_2025_cover_treat_sp_mean_plot_nograss_sort <- oakhaven_2025_cover_treat_sp_mean %>% arrange(desc(meanPercentCover)) %>%
filter(Native_or_Invasive != "MixedGrass") %>%
# updates Site with new arrangement
mutate(Species = factor(Species, levels = Species)) %>%
ggplot(
aes(x = Species, y = meanPercentCover, fill = Native_or_Invasive)) +
ylim(0, 30) +
geom_bar(stat = "identity") +
scale_fill_manual(values = custom_colours, name = "Native/Invasive") +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position="bottom") +
theme(legend.title=element_blank()) +
theme(axis.text.x = element_text(angle = 25, vjust = 1, hjust=1, size = 7)) +
labs(title='Mean % Species Coverage (Treated)',
subtitle='2025 Oak Haven Park (no grass)',
caption = "Chart by Wendy Anthony \n 2025-11-10",
y = "Mean % Cover (Treated)")
oakhaven_2025_cover_treat_sp_mean_plot_nograss_sort# ggsave(filename = paste0("images/oakhaven_2025_cover_treat_sp_mean_plot_nograss_sort_barplot_", format(Sys.time(), "%Y-%m-%d_%H.%M.%S"),".png"), oakhaven_2025_cover_treat_sp_mean_plot_nograss_sort)
# ggsave("images/oakhaven_2025_cover_treat_sp_mean_plot_nograss_sort_barplot.png", oakhaven_2025_cover_treat_sp_mean_plot_nograss_sort)# library(gridExtra)
combine_oakhaven_2025_cover_treat_sp_mean_plot_grassnograss_sort <- grid.arrange(arrangeGrob(oakhaven_2025_cover_treat_sp_mean_plot_sort, oakhaven_2025_cover_treat_sp_mean_plot_nograss_sort, ncol = 2)) # ggsave(filename = paste0("images/combine_oakhaven_2025_cover_treat_sp_mean_plot_grassnograss_sort_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), combine_oakhaven_2025_cover_treat_sp_mean_plot_grassnograss_sort)# create custom colour-blind-friendly palette
custom_colours <- c("Invasive" = "#fc8d62",
"Native" = "#66c2a5",
"MixedGrass" = "#8da0cb")
oakhaven_2025_cover_treat_sp_mean_plot <- ggplot(oakhaven_2025_cover_untreat_sp_mean,
aes(x = Species, y = meanPercentCover, fill = Native_or_Invasive)) +
ylim(0, 100) +
geom_bar(stat = "identity") +
scale_fill_manual(values = custom_colours, name = "Native/Invasive") +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position="bottom") +
theme(legend.title=element_blank()) +
theme(axis.text.x = element_text(angle = 25, vjust = 1, hjust=1, size = 7)) +
labs(title='Comparing Mean % Species Coverage in Untreated Plots',
subtitle='2025 Oak Haven Park',
caption = "Chart by Wendy Anthony \n 2025-10-29",
y = "Mean % Cover (Untreated)")
oakhaven_2025_cover_treat_sp_mean_plot# ggsave(filename = paste0("images/oakhaven_2025_cover_treat_sp_mean_plot_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), oakhaven_2025_cover_treat_sp_mean_plot)# create custom colour-blind-friendly palette
custom_colours <- c("Invasive" = "#fc8d62",
"Native" = "#66c2a5",
"MixedGrass" = "#8da0cb")
oakhaven_2025_cover_untreat_sp_mean_nograss_plot <- oakhaven_2025_cover_untreat_sp_mean %>% filter(Native_or_Invasive != "MixedGrass") %>%
ggplot(
aes(x = Species, y = meanPercentCover, fill = Native_or_Invasive)) +
ylim(0, 30) +
geom_bar(stat = "identity") +
scale_fill_manual(values = custom_colours, name = "Native/Invasive") +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position ="bottom") +
theme(legend.title=element_blank()) +
theme(axis.text.x = element_text(angle = 25, vjust = 1, hjust=1, size = 7)) +
labs(title='Comparing Mean Percentage Species Coverage in Untreated Plots',
subtitle='2025 Oak Haven Park (no grass)',
caption = "Chart by Wendy Anthony \n 2025-11-10",
y = "Mean % Cover (Untreated)")
oakhaven_2025_cover_untreat_sp_mean_nograss_plot# ggsave(filename = paste0("images/oakhaven_2025_cover_untreat_sp_mean_nograss_plot_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), oakhaven_2025_cover_untreat_sp_mean_nograss_plot)colnames(OH_2025_perc_cover_treat_mean_merge)## [1] "Species" "t_meanPercentCover" "u_meanPercentCover"
## [4] "Native_or_Invasive"
# create custom colour-blind-friendly palette
custom_colours <- c("Invasive" = "#fc8d62",
"Native" = "#66c2a5",
"MixedGrass" = "#8da0cb")
OH_2025_perc_cover_untreat_mean_merge_plot_sort <- OH_2025_perc_cover_treat_mean_merge %>% arrange(desc(u_meanPercentCover)) %>%
# updates Site with new arrangement
mutate(Species = factor(Species, levels = Species)) %>%
ggplot(
aes(x = Species, y = u_meanPercentCover, fill = Native_or_Invasive)) +
ylim(0, 100) +
#geom_bar(stat = "identity", fill = "seagreen") +
geom_bar(stat = "identity") +
scale_fill_manual(values = custom_colours) +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position ="bottom") +
theme(legend.title=element_blank()) +
theme(axis.text.x = element_text(angle = 25, vjust = 1, hjust=1, size = 7)) +
labs(title='Mean % Species Coverage (Untreated)',
subtitle='2025 Cover Data Oak Haven Park',
caption = "Chart by Wendy Anthony \n 2025-10-29",
y = "Mean % Cover (Untreated)",
# Legend Title
fill = "Native or Invasive")
OH_2025_perc_cover_untreat_mean_merge_plot_sort## Warning: Removed 4 rows containing missing values (`position_stack()`).
# ggsave(filename = paste0("images/OH_2025_perc_cover_untreat_mean_merge_plot_sort_barplot_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), OH_2025_perc_cover_untreat_mean_merge_plot_sort)
#ggsave("images/OH_2025_perc_cover_untreat_mean_merge_plot_sort_barplot.png", OH_2025_perc_cover_untreat_mean_merge_plot_sort)colnames(OH_2025_perc_cover_treat_mean_merge)## [1] "Species" "t_meanPercentCover" "u_meanPercentCover"
## [4] "Native_or_Invasive"
# create custom colour-blind-friendly palette
custom_colours <- c("Invasive" = "#fc8d62",
"Native" = "#66c2a5",
"MixedGrass" = "#8da0cb")
OH_2025_perc_cover_untreat_mean_merge_plot_nograss_sort <- OH_2025_perc_cover_treat_mean_merge %>% arrange(desc(u_meanPercentCover)) %>% filter(Native_or_Invasive != "MixedGrass") %>%
# updates Site with new arrangement
mutate(Species = factor(Species, levels = Species)) %>%
ggplot(
aes(x = Species, y = u_meanPercentCover, fill = Native_or_Invasive)) +
ylim(0, 30) +
#geom_bar(stat = "identity", fill = "seagreen") +
geom_bar(stat = "identity") +
scale_fill_manual(values = custom_colours) +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position ="bottom") +
theme(legend.title=element_blank()) +
theme(axis.text.x = element_text(angle = 25, vjust = 1, hjust=1, size = 7)) +
labs(title='Mean Species Coverage (Untreated)',
subtitle='2025 Oak Haven Park (no grass)',
caption = "Chart by Wendy Anthony \n 2025-11-10",
y = "Mean % Cover (Untreated)",
# Legend Title
fill = "Native or Invasive")
OH_2025_perc_cover_untreat_mean_merge_plot_nograss_sort## Warning: Removed 4 rows containing missing values (`position_stack()`).
ggsave("images/OH_2025_perc_cover_untreat_mean_merge_plot_nograss_sort_barplot.png", OH_2025_perc_cover_untreat_mean_merge_plot_nograss_sort)## Saving 7 x 5 in image
## Warning: Removed 4 rows containing missing values (`position_stack()`).
# library(gridExtra)
combine_OH_2025_perc_cover_untreat_mean_merge_plot_nograss_sort <- grid.arrange(arrangeGrob(OH_2025_perc_cover_untreat_mean_merge_plot_sort,
OH_2025_perc_cover_untreat_mean_merge_plot_nograss_sort, ncol = 2)) ## Warning: Removed 4 rows containing missing values (`position_stack()`).
## Removed 4 rows containing missing values (`position_stack()`).
# ggsave(filename = paste0("images/combine_OH_2025_perc_cover_untreat_mean_merge_plot_nograss_sort_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), combine_OH_2025_perc_cover_untreat_mean_merge_plot_nograss_sort)# library(gridExtra)
combine_oakhaven_2025_cover_tr_untr_mean_bar_nograss_Plot <- grid.arrange(oakhaven_2025_cover_treat_sp_mean_plot_nograss_sort, OH_2025_perc_cover_untreat_mean_merge_plot_nograss_sort, ncol = 2) ## Warning: Removed 4 rows containing missing values (`position_stack()`).
# ggsave(filename = paste0("images/combine_oakhaven_2025_cover_tr_untr_mean_bar_dodge_Plot_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), combine_oakhaven_2025_cover_tr_untr_mean_bar_dodge_Plot)
# ggsave("images/combine_oakhaven_2025_cover_tr_untr_mean_bar_dodge_Plot.png", combine_oakhaven_2025_cover_tr_untr_mean_bar_dodge_Plot)colnames(OH_2025_perc_cover_treat_mean_merge)## [1] "Species" "t_meanPercentCover" "u_meanPercentCover"
## [4] "Native_or_Invasive"
# create custom colour-blind-friendly palette
custom_colours <- c("Invasive" = "#fc8d62",
"Native" = "#66c2a5",
"MixedGrass" = "#8da0cb")
OH_2025_perc_cover_untreat_mean_merge_plot_sort_group <- OH_2025_perc_cover_treat_mean_merge %>%
group_by(Native_or_Invasive) %>%
arrange(desc(u_meanPercentCover)) %>%
# updates Site with new arrangement
mutate(Species = factor(Species, levels = Species)) %>%
ggplot(
aes(x = Species, y = u_meanPercentCover, fill = Native_or_Invasive)) +
ylim(0, 100) +
#geom_bar(stat = "identity", fill = "seagreen") +
geom_bar(stat = "identity") +
scale_fill_manual(values = custom_colours) +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position ="bottom") +
theme(legend.title=element_blank()) +
theme(axis.text.x = element_text(angle = 25, vjust = 1, hjust=1, size = 7)) +
labs(title='Mean Species Coverage (Untreated)',
subtitle='2025 Cover Data Oak Haven Park',
caption = "Chart by Wendy Anthony \n 2025-11-03",
y = "Mean % Cover (Untreated)",
# Legend Title
fill = "Native or Invasive")
OH_2025_perc_cover_untreat_mean_merge_plot_sort_group## Warning: Removed 4 rows containing missing values (`position_stack()`).
# ggsave(filename = paste0("images/OH_2025_perc_cover_untreat_mean_merge_plot_sort_group_barplot_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), OH_2025_perc_cover_untreat_mean_merge_plot_sort_group)
# ggsave("images/OH_2025_perc_cover_untreat_mean_merge_plot_sort_group_barplot.png", OH_2025_perc_cover_untreat_mean_merge_plot_sort_group)colnames(OH_2025_perc_cover_treat_mean_merge)## [1] "Species" "t_meanPercentCover" "u_meanPercentCover"
## [4] "Native_or_Invasive"
# create custom colour-blind-friendly palette
custom_colours <- c("Invasive" = "#fc8d62",
"Native" = "#66c2a5",
"MixedGrass" = "#8da0cb")
OH_2025_perc_cover_untreat_mean_merge_plot_sort_group_nograss <- OH_2025_perc_cover_treat_mean_merge %>%
filter(Native_or_Invasive != "MixedGrass") %>%
group_by(Native_or_Invasive) %>%
arrange(desc(u_meanPercentCover)) %>%
# updates Site with new arrangement
mutate(Species = factor(Species, levels = Species)) %>%
ggplot(
aes(x = Species, y = u_meanPercentCover, fill = Native_or_Invasive)) +
ylim(0, 30) +
#geom_bar(stat = "identity", fill = "seagreen") +
geom_bar(stat = "identity") +
scale_fill_manual(values = custom_colours) +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position ="bottom") +
theme(legend.title=element_blank()) +
theme(axis.text.x = element_text(angle = 25, vjust = 1, hjust=1, size = 7)) +
labs(title='Mean % Species Coverage (Untreated)',
subtitle='2025 Cover Data Oak Haven Park (no grass)',
caption = "Chart by Wendy Anthony \n 2025-11-10",
y = "Mean % Cover (Untreated)",
# Legend Title
fill = "Native or Invasive")
OH_2025_perc_cover_untreat_mean_merge_plot_sort_group_nograss## Warning: Removed 4 rows containing missing values (`position_stack()`).
# ggsave(filename = paste0("images/OH_2025_perc_cover_untreat_mean_merge_plot_sort_group_nograss_barplot.png/_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), OH_2025_perc_cover_untreat_mean_merge_plot_sort_group_nograss)
# ggsave("images/OH_2025_perc_cover_untreat_mean_merge_plot_sort_group_nograss_barplot.png", OH_2025_perc_cover_untreat_mean_merge_plot_sort_group_nograss)# library(gridExtra)
combine_OH_2025_perc_cover_untreat_mean_merge_plot_grassnograss_sort <- grid.arrange(arrangeGrob(OH_2025_perc_cover_untreat_mean_merge_plot_sort_group, OH_2025_perc_cover_untreat_mean_merge_plot_sort_group_nograss,
ncol = 2)) ## Warning: Removed 4 rows containing missing values (`position_stack()`).
## Removed 4 rows containing missing values (`position_stack()`).
# ggsave(filename = paste0("images/combine_OH_2025_perc_cover_untreat_mean_merge_plot_grassnograss_sort_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), combine_OH_2025_perc_cover_untreat_mean_merge_plot_grassnograss_sort)- as per file:///Users/wanthony/Documents/R/Test-Shiny-GOE-Monitor/TEST-GOE-Monitor.html#48_Violin_Subregion_by_Exotic_species - e.g. group_by(Native_or_Invasive) %>%
colnames(oakhaven_2025_cover_treat_sp_mean)## [1] "Species" "meanPercentCover" "Native_or_Invasive"
# create custom colour-blind-friendly palette
custom_colours <- c("Invasive" = "#fc8d62",
"Native" = "#66c2a5",
"MixedGrass" = "#8da0cb")
oakhaven_2025_cover_treat_sp_mean_plot_sort_group <- oakhaven_2025_cover_treat_sp_mean %>%
group_by(Native_or_Invasive) %>%
arrange(desc(meanPercentCover)) %>%
# updates Site with new arrangement
mutate(Species = factor(Species, levels = Species)) %>%
ggplot(
aes(x = Species, y = meanPercentCover, fill = Native_or_Invasive)) +
ylim(0, 100) +
geom_bar(stat = "identity") +
scale_fill_manual(values = custom_colours, name = "Native/Invasive") +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position ="bottom") +
theme(legend.title=element_blank()) +
theme(axis.text.x = element_text(angle = 25, vjust = 1, hjust=1, size = 7)) +
labs(title='Mean % Species Coverage (Treated)',
subtitle='2025 Oak Haven Park',
caption = "Chart by Wendy Anthony \n 2025-11-03",
y = "Mean % Cover (Treated)")
oakhaven_2025_cover_treat_sp_mean_plot_sort_group# ggsave(filename = paste0("images/oakhaven_2025_cover_treat_sp_mean_plot_sort_group_barplot_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), oakhaven_2025_cover_treat_sp_mean_plot_sort_group)
# ggsave("images/oakhaven_2025_cover_treat_sp_mean_plot_sort_group_barplot.png", oakhaven_2025_cover_treat_sp_mean_plot_sort_group)- as per file:///Users/wanthony/Documents/R/Test-Shiny-GOE-Monitor/TEST-GOE-Monitor.html#48_Violin_Subregion_by_Exotic_species - e.g. group_by(Native_or_Invasive) %>%
colnames(oakhaven_2025_cover_treat_sp_mean)## [1] "Species" "meanPercentCover" "Native_or_Invasive"
# create custom colour-blind-friendly palette
custom_colours <- c("Invasive" = "#fc8d62",
"Native" = "#66c2a5",
"MixedGrass" = "#8da0cb")
oakhaven_2025_cover_treat_sp_mean_plot_sort_group_nograss <- oakhaven_2025_cover_treat_sp_mean %>% filter(Native_or_Invasive != "MixedGrass") %>%
group_by(Native_or_Invasive) %>%
arrange(desc(meanPercentCover)) %>%
# updates Site with new arrangement
mutate(Species = factor(Species, levels = Species)) %>%
ggplot(
aes(x = Species, y = meanPercentCover, fill = Native_or_Invasive)) +
ylim(0, 30) +
geom_bar(stat = "identity") +
scale_fill_manual(values = custom_colours, name = "Native/Invasive") +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position ="bottom") +
theme(legend.title=element_blank()) +
theme(axis.text.x = element_text(angle = 25, vjust = 1, hjust=1, size = 7)) +
labs(title='Mean % Species Coverage (Treated)',
subtitle='2025 Oak Haven Park (no grass)',
caption = "Chart by Wendy Anthony \n 2025-11-10",
y = "Mean % Cover (Treated)")
oakhaven_2025_cover_treat_sp_mean_plot_sort_group_nograss# ggsave(filename = paste0("images/oakhaven_2025_cover_treat_sp_mean_plot_sort_group_nograss_barplot.png_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), oakhaven_2025_cover_treat_sp_mean_plot_sort_group_nograss)
# ggsave("images/oakhaven_2025_cover_treat_sp_mean_plot_sort_group_nograss_barplot.png", oakhaven_2025_cover_treat_sp_mean_plot_sort_group_nograss)# library(gridExtra)
combine_oakhaven_2025_cover_treat_sp_mean_plot_sort_group_nograss_barplot <- grid.arrange(arrangeGrob(oakhaven_2025_cover_treat_sp_mean_plot_sort_group,
oakhaven_2025_cover_treat_sp_mean_plot_sort_group_nograss, ncol = 2))# ggsave(filename = paste0("images/combine_oakhaven_2025_cover_treat_sp_mean_plot_sort_group_nograss_barplot_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), combine_oakhaven_2025_cover_treat_sp_mean_plot_sort_group_nograss_barplot)# library(gridExtra)
combine_oakhaven_2025_cover_tr_untr_mean_bar_nograss_sorted_Plot <- grid.arrange(OH_2025_perc_cover_untreat_mean_merge_plot_sort_group_nograss, oakhaven_2025_cover_treat_sp_mean_plot_sort_group_nograss, ncol = 2) ## Warning: Removed 4 rows containing missing values (`position_stack()`).
# ggsave(filename = paste0("images/combine_oakhaven_2025_cover_tr_untr_mean_bar_nograss_sorted_Plot_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), combine_oakhaven_2025_cover_tr_untr_mean_bar_nograss_sorted_Plot)
# ggsave("images/combine_oakhaven_2025_cover_tr_untr_mean_bar_nograss_sorted_Plot.png", combine_oakhaven_2025_cover_tr_untr_mean_bar_nograss_sorted_Plot)colnames(OH_2025_perc_cover_treat_mean_merge)## [1] "Species" "t_meanPercentCover" "u_meanPercentCover"
## [4] "Native_or_Invasive"
# create custom colour-blind-friendly palette
custom_colours <- c("Invasive" = "#fc8d62",
"Native" = "#66c2a5",
"MixedGrass" = "#8da0cb")
OH_2025_perc_cover_untreat_mean_merge_plot_sort <- OH_2025_perc_cover_treat_mean_merge %>% arrange(desc(u_meanPercentCover)) %>%
# updates Site with new arrangement
mutate(Species = factor(Species, levels = Species)) %>%
ggplot(
aes(x = Species, y = u_meanPercentCover, fill = Native_or_Invasive)) +
ylim(0, 100) +
#geom_bar(stat = "identity", fill = "seagreen") +
geom_bar(stat = "identity") +
scale_fill_manual(values = custom_colours) +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position ="bottom") +
theme(legend.title=element_blank()) +
theme(axis.text.x = element_text(angle = 25, vjust = 1, hjust=1, size = 7)) +
labs(title='Comparing Mean % Species Coverage (Untreated)',
subtitle='2025 Cover Data Oak Haven Park',
caption = "Chart by Wendy Anthony \n 2025-10-29",
y = "Mean % Cover (Untreated)",
# Legend Title
fill = "Native or Invasive")
OH_2025_perc_cover_untreat_mean_merge_plot_sort## Warning: Removed 4 rows containing missing values (`position_stack()`).
# ggsave(filename = paste0("images/OH_2025_perc_cover_untreat_mean_merge_plot_sort_barplot_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), OH_2025_perc_cover_untreat_mean_merge_plot_sort)
# ggsave("images/OH_2025_perc_cover_untreat_mean_merge_plot_sort_barplot.png", OH_2025_perc_cover_untreat_mean_merge_plot_sort)colnames(OH_2025_perc_cover_treat_mean_merge)## [1] "Species" "t_meanPercentCover" "u_meanPercentCover"
## [4] "Native_or_Invasive"
# create custom colour-blind-friendly palette
custom_colours <- c("Invasive" = "#fc8d62",
"Native" = "#66c2a5",
"MixedGrass" = "#8da0cb")
OH_2025_perc_cover_untreat_mean_merge_plot_sort_nograss <- OH_2025_perc_cover_treat_mean_merge %>% filter(Native_or_Invasive != "MixedGrass") %>% arrange(desc(u_meanPercentCover)) %>%
# updates Site with new arrangement
mutate(Species = factor(Species, levels = Species)) %>%
ggplot(
aes(x = Species, y = u_meanPercentCover, fill = Native_or_Invasive)) +
ylim(0, 30) +
#geom_bar(stat = "identity", fill = "seagreen") +
geom_bar(stat = "identity") +
scale_fill_manual(values = custom_colours) +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position ="bottom") +
theme(legend.title=element_blank()) +
theme(axis.text.x = element_text(angle = 25, vjust = 1, hjust=1, size = 7)) +
labs(title='Comparing Mean % Species Coverage (Untreated)',
subtitle='2025 Cover Data Oak Haven Park (no grass)',
caption = "Chart by Wendy Anthony \n 2025-11-10",
y = "Mean % Cover (Untreated)",
# Legend Title
fill = "Native or Invasive")
OH_2025_perc_cover_untreat_mean_merge_plot_sort_nograss## Warning: Removed 4 rows containing missing values (`position_stack()`).
# ggsave(filename = paste0("images/OH_2025_perc_cover_untreat_mean_merge_plot_sort_nograss_barplot_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), OH_2025_perc_cover_untreat_mean_merge_plot_sort_nograss)
# ggsave("images/OH_2025_perc_cover_untreat_mean_merge_plot_sort_nograss_barplot.png", OH_2025_perc_cover_untreat_mean_merge_plot_sort_nograss)colnames(oakhaven_2025_cover_mean_by_group_treat)## [1] "Treated" "Native_or_Invasive" "mean_value"
## [4] "sd_value"
str(oakhaven_2025_cover_mean_by_group_treat)## gropd_df [6 × 4] (S3: grouped_df/tbl_df/tbl/data.frame)
## $ Treated : chr [1:6] "Treated" "Treated" "Treated" "Untreated" ...
## $ Native_or_Invasive: chr [1:6] "Invasive" "MixedGrass" "Native" "Invasive" ...
## $ mean_value : num [1:6] 11.2 39 8.47 2.67 63 ...
## $ sd_value : num [1:6] 9.92 18.83 7.96 2.08 26.94 ...
## - attr(*, "groups")= tibble [2 × 2] (S3: tbl_df/tbl/data.frame)
## ..$ Treated: chr [1:2] "Treated" "Untreated"
## ..$ .rows : list<int> [1:2]
## .. ..$ : int [1:3] 1 2 3
## .. ..$ : int [1:3] 4 5 6
## .. ..@ ptype: int(0)
## ..- attr(*, ".drop")= logi TRUE
# create custom colour-blind-friendly palette
custom_colours <- c("Invasive" = "#fc8d62",
"Native" = "#66c2a5",
"MixedGrass" = "#8da0cb")
compare_treat_untreat_bar <- ggplot(oakhaven_2025_cover_mean_by_group_treat, aes(Treated, mean_value, fill = Native_or_Invasive)) +
geom_bar(stat = "identity", width = 0.5, position = "dodge") +
# scale_fill_brewer(palette = "Dark2") +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position ="bottom") +
theme(legend.title=element_blank()) +
scale_fill_manual(values = custom_colours) +
labs(title='Comparing Percent Cover by Treatment',
subtitle='2025 Oak Haven Park',
caption = "Chart by Wendy Anthony \n 2025-11-02",
x = "", y = "Mean % Cover (Untreated)",
# Legend Title
fill = "Native or Invasive")
compare_treat_untreat_bar# ggsave(filename = paste0("images/compare_treat_untreat_bar_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), compare_treat_untreat_bar)colnames(oakhaven_2025_cover_mean_by_group_treat)## [1] "Treated" "Native_or_Invasive" "mean_value"
## [4] "sd_value"
str(oakhaven_2025_cover_mean_by_group_treat)## gropd_df [6 × 4] (S3: grouped_df/tbl_df/tbl/data.frame)
## $ Treated : chr [1:6] "Treated" "Treated" "Treated" "Untreated" ...
## $ Native_or_Invasive: chr [1:6] "Invasive" "MixedGrass" "Native" "Invasive" ...
## $ mean_value : num [1:6] 11.2 39 8.47 2.67 63 ...
## $ sd_value : num [1:6] 9.92 18.83 7.96 2.08 26.94 ...
## - attr(*, "groups")= tibble [2 × 2] (S3: tbl_df/tbl/data.frame)
## ..$ Treated: chr [1:2] "Treated" "Untreated"
## ..$ .rows : list<int> [1:2]
## .. ..$ : int [1:3] 1 2 3
## .. ..$ : int [1:3] 4 5 6
## .. ..@ ptype: int(0)
## ..- attr(*, ".drop")= logi TRUE
# create custom colour-blind-friendly palette
custom_colours <- c("Invasive" = "#fc8d62",
"Native" = "#66c2a5",
"MixedGrass" = "#8da0cb")
compare_treat_untreat_nograss_bar <- oakhaven_2025_cover_mean_by_group_treat %>% filter(Native_or_Invasive != "MixedGrass") %>%
ggplot(aes(Treated, mean_value, fill = Native_or_Invasive)) +
geom_bar(stat = "identity", width = 0.5, position = "dodge") +
ylim(0, 30) +
# scale_fill_brewer(palette = "Dark2") +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position ="bottom") +
theme(legend.title=element_blank()) +
scale_fill_manual(values = custom_colours) +
labs(title='Comparing Mean % Cover by Treatment',
subtitle='2025 Oak Haven Park (no grass)',
caption = "Chart by Wendy Anthony \n 2025-11-10",
x = "", y = "Mean % Cover",
# Legend Title
fill = "Native or Invasive")
compare_treat_untreat_nograss_bar# ggsave(filename = paste0("images/compare_treat_untreat_nograss_bar_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), compare_treat_untreat_nograss_bar)colnames(oakhaven_2025_cover_mean_by_group_treat)## [1] "Treated" "Native_or_Invasive" "mean_value"
## [4] "sd_value"
str(oakhaven_2025_cover_mean_by_group_treat)## gropd_df [6 × 4] (S3: grouped_df/tbl_df/tbl/data.frame)
## $ Treated : chr [1:6] "Treated" "Treated" "Treated" "Untreated" ...
## $ Native_or_Invasive: chr [1:6] "Invasive" "MixedGrass" "Native" "Invasive" ...
## $ mean_value : num [1:6] 11.2 39 8.47 2.67 63 ...
## $ sd_value : num [1:6] 9.92 18.83 7.96 2.08 26.94 ...
## - attr(*, "groups")= tibble [2 × 2] (S3: tbl_df/tbl/data.frame)
## ..$ Treated: chr [1:2] "Treated" "Untreated"
## ..$ .rows : list<int> [1:2]
## .. ..$ : int [1:3] 1 2 3
## .. ..$ : int [1:3] 4 5 6
## .. ..@ ptype: int(0)
## ..- attr(*, ".drop")= logi TRUE
colnames(oakhaven_2025_cover_mean_by_group_species)## [1] "Species" "Treated" "Native_or_Invasive"
## [4] "mean_value" "sd_value"
# create custom colour-blind-friendly palette
custom_colours <- c("Invasive" = "#fc8d62",
"Native" = "#66c2a5",
"MixedGrass" = "#8da0cb")
# https://www.geeksforgeeks.org/r-language/plot-mean-and-standard-deviation-using-ggplot2-in-r/
compare_mean_sd_treat_untreat_bar <- ggplot(oakhaven_2025_cover_mean_by_group_treat, aes(Treated, mean_value, fill = Native_or_Invasive)) +
geom_bar(stat = "identity", width = 0.5, position = "dodge") +
geom_errorbar(aes(ymin = mean_value - sd_value, ymax = mean_value + sd_value), width =.02, position = position_dodge(0.5)) +
# scale_fill_brewer(palette = "Dark2") +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position ="bottom") +
theme(legend.title=element_blank()) +
scale_fill_manual(values = custom_colours) +
labs(title='Comparing Mean % Cover by Treatment',
subtitle='2025 Oak Haven Park - with SD error bars',
caption = "Chart by Wendy Anthony \n 2025-11-02",
x = "", y = "Mean % Cover",
# Legend Title
fill = "Native or Invasive"
)
compare_mean_sd_treat_untreat_bar# ggsave(filename = paste0("images/compare_mean_sd_treat_untreat_bar_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), compare_mean_sd_treat_untreat_bar)
# ggsave("images/compare_mean_sd_treat_untreat_bar.png", compare_mean_sd_treat_untreat_bar)colnames(oakhaven_2025_cover_mean_by_group_treat)## [1] "Treated" "Native_or_Invasive" "mean_value"
## [4] "sd_value"
str(oakhaven_2025_cover_mean_by_group_treat)## gropd_df [6 × 4] (S3: grouped_df/tbl_df/tbl/data.frame)
## $ Treated : chr [1:6] "Treated" "Treated" "Treated" "Untreated" ...
## $ Native_or_Invasive: chr [1:6] "Invasive" "MixedGrass" "Native" "Invasive" ...
## $ mean_value : num [1:6] 11.2 39 8.47 2.67 63 ...
## $ sd_value : num [1:6] 9.92 18.83 7.96 2.08 26.94 ...
## - attr(*, "groups")= tibble [2 × 2] (S3: tbl_df/tbl/data.frame)
## ..$ Treated: chr [1:2] "Treated" "Untreated"
## ..$ .rows : list<int> [1:2]
## .. ..$ : int [1:3] 1 2 3
## .. ..$ : int [1:3] 4 5 6
## .. ..@ ptype: int(0)
## ..- attr(*, ".drop")= logi TRUE
colnames(oakhaven_2025_cover_mean_by_group_species)## [1] "Species" "Treated" "Native_or_Invasive"
## [4] "mean_value" "sd_value"
# create custom colour-blind-friendly palette
custom_colours <- c("Invasive" = "#fc8d62",
"Native" = "#66c2a5",
"MixedGrass" = "#8da0cb")
# https://www.geeksforgeeks.org/r-language/plot-mean-and-standard-deviation-using-ggplot2-in-r/
compare_mean_sd_treat_untreat_nograss_bar <- oakhaven_2025_cover_mean_by_group_treat %>% filter(Native_or_Invasive != "MixedGrass") %>%
ggplot(aes(Treated, mean_value, fill = Native_or_Invasive)) +
geom_bar(stat = "identity", width = 0.5, position = "dodge") +
geom_errorbar(aes(ymin = mean_value - sd_value, ymax = mean_value + sd_value), width =.02, position = position_dodge(0.5)) +
ylim(0, 30) +
# scale_fill_brewer(palette = "Dark2") +
theme_minimal() + #get rid of grey background and tick marks
theme(legend.position ="bottom") +
theme(legend.title=element_blank()) +
scale_fill_manual(values = custom_colours) +
labs(title='Comparing Mean % Cover by Treatment (no grass)',
subtitle='2025 Oak Haven Park - with SD error bars',
caption = "Chart by Wendy Anthony \n 2025-11-10",
x = "", y = "Mean % Cover",
# Legend Title
fill = "Native or Invasive"
)
compare_mean_sd_treat_untreat_nograss_bar# ggsave(filename = paste0("images/compare_mean_sd_treat_untreat_nograss_bar_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), compare_mean_sd_treat_untreat_nograss_bar)
# ggsave("images/compare_mean_sd_treat_untreat_nograss_bar.png", compare_mean_sd_treat_untreat_nograss_bar)# library(gridExtra)
combine_mean_sd_treat_untreat_grassnograss_bar <- grid.arrange(arrangeGrob(compare_mean_sd_treat_untreat_bar, compare_mean_sd_treat_untreat_nograss_bar, ncol = 2)) # ggsave(filename = paste0("images/combine_mean_sd_treat_untreat_grassnograss_bar_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), combine_mean_sd_treat_untreat_grassnograss_bar)colnames(oakhaven_2025_cover_mean_by_group_treat)## [1] "Treated" "Native_or_Invasive" "mean_value"
## [4] "sd_value"
oakhaven_2025_cover_mean_by_group_treat_violin <- ggplot(oakhaven_2025_cover_mean_by_group_treat,
# text = paste("Site:", Site),
aes(x = Treated, y = mean_value)) +
geom_violin(fill = "#66c2a5") +
geom_boxplot(width = 0.05, fill = "#fc8d62") +
geom_errorbar(aes(ymin = mean_value - sd_value, ymax = mean_value + sd_value), width =.02) +
scale_fill_brewer(palette = "Dark2") +
theme_minimal() + #get rid of grey background and tick marks
scale_y_continuous(limits = c(0, 100)) +
labs(title='Compare Mean % Cover by Treatment',
subtitle='Data: 2025 Oak Haven Park',
caption = "Chart by Wendy Anthony \n 2025-11-02",
x = "Treatment",
y = "Mean % Cover")
oakhaven_2025_cover_mean_by_group_treat_violin# ggsave(filename = paste0("images/oakhaven_2025_cover_mean_by_group_treat_violin_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), oakhaven_2025_cover_mean_by_group_treat_violin)colnames(oakhaven_2025_cover_mean_by_group_treat)## [1] "Treated" "Native_or_Invasive" "mean_value"
## [4] "sd_value"
oakhaven_2025_cover_mean_by_group_treat_nograss_violin <- oakhaven_2025_cover_mean_by_group_treat %>% filter(Native_or_Invasive != "MixedGrass") %>%
ggplot(
# text = paste("Site:", Site),
aes(x = Treated, y = mean_value)) +
geom_violin(fill = "#66c2a5") +
geom_boxplot(width = 0.05, fill = "#fc8d62") +
geom_errorbar(aes(ymin = mean_value - sd_value, ymax = mean_value + sd_value), width =.02) +
scale_fill_brewer(palette = "Dark2") +
theme_minimal() + #get rid of grey background and tick marks
scale_y_continuous(limits = c(0, 30)) +
labs(title='Compare Mean % Cover by Treatment (no grass)',
subtitle='Data: 2025 Oak Haven Park',
caption = "Chart by Wendy Anthony \n 2025-11-10",
x = "Treatment",
y = "Mean % Cover")
oakhaven_2025_cover_mean_by_group_treat_nograss_violin# ggsave(filename = paste0("images/oakhaven_2025_cover_mean_by_group_treat_nograss_violin_", format(Sys.time(), "%Y-%m-%d_%H.%M"),".png"), oakhaven_2025_cover_mean_by_group_treat_nograss_violin)https://glue.tidyverse.org/
https://cran.r-project.org/web/packages/glue/glue.pdf
library(glue)
library(crayon)##
## Attaching package: 'crayon'
## The following object is masked from 'package:plotly':
##
## style
## The following object is masked from 'package:ggplot2':
##
## %+%
# colnames(oakhaven_2025_cover_mean_by_group_species)
glue_col("{red S}{yellow p}{green e}{cyan c}{blue i}{magenta e}{red s} {red %} {yellow M}{green e}{cyan a}{blue n} {red C}{yellow o}{green v}{cyan e}{blue r}")## Species % Mean Cover
glue_data(oakhaven_2025_cover_mean_by_group_species, "{Species} in {Treated} plots has a mean % cover value of {mean_value}")## Menzies larkspur in Treated plots has a mean % cover value of 9.5
## Menzies larkspur in Untreated plots has a mean % cover value of 9
## Oregon grape in Treated plots has a mean % cover value of 21.5
## Oregon grape in Untreated plots has a mean % cover value of 11
## Pacific sanicle in Treated plots has a mean % cover value of 1.66666666666667
## Scotch broom in Treated plots has a mean % cover value of 2
## Scotch broom in Untreated plots has a mean % cover value of 3.5
## camas in Treated plots has a mean % cover value of 7.5
## camas in Untreated plots has a mean % cover value of 5.6
## delphinium in Treated plots has a mean % cover value of 9
## delphinium in Untreated plots has a mean % cover value of 3
## fawn lily in Treated plots has a mean % cover value of 1.6
## fawn lily in Untreated plots has a mean % cover value of 3
## field chickweed in Treated plots has a mean % cover value of 3
## field chickweed in Untreated plots has a mean % cover value of 1.5
## herb robert geranium in Treated plots has a mean % cover value of 6.5
## mixed grass in Treated plots has a mean % cover value of 34.25
## mixed grass in Untreated plots has a mean % cover value of 70.75
## mixed invasive grasses in Untreated plots has a mean % cover value of 53
## mixed moss and grass in Treated plots has a mean % cover value of 48.5
## mixed moss and grass in Untreated plots has a mean % cover value of 52.5
## moss in Treated plots has a mean % cover value of 16
## moss in Untreated plots has a mean % cover value of 8
## onion in Untreated plots has a mean % cover value of 1
## rose in Untreated plots has a mean % cover value of 1
## saxifrage species in Treated plots has a mean % cover value of 1
## shiny geranium in Treated plots has a mean % cover value of 15.8333333333333
## shooting star in Treated plots has a mean % cover value of 11
## shooting star in Untreated plots has a mean % cover value of 3.25
## snowberry in Treated plots has a mean % cover value of 11.6666666666667
## snowberry in Untreated plots has a mean % cover value of 11
## speedwell in Untreated plots has a mean % cover value of 1
# add color
# glue_data_col(oakhaven_2025_cover_mean_by_group_species, "{yellow {Species}} in {magenta {Treated}} plots has a mean % cover value of {blue {mean_value}}")
# add bold and italic
# NOTE these colours and bold and italic formatting do NOT KNIT !! ;(
glue_data_col(oakhaven_2025_cover_mean_by_group_species, "{bold {yellow {Species}}} in {italic {magenta {Treated}}} plots has a mean % cover value of {blue {mean_value}}")## Menzies larkspur in Treated plots has a mean % cover value of 9.5
## Menzies larkspur in Untreated plots has a mean % cover value of 9
## Oregon grape in Treated plots has a mean % cover value of 21.5
## Oregon grape in Untreated plots has a mean % cover value of 11
## Pacific sanicle in Treated plots has a mean % cover value of 1.66666666666667
## Scotch broom in Treated plots has a mean % cover value of 2
## Scotch broom in Untreated plots has a mean % cover value of 3.5
## camas in Treated plots has a mean % cover value of 7.5
## camas in Untreated plots has a mean % cover value of 5.6
## delphinium in Treated plots has a mean % cover value of 9
## delphinium in Untreated plots has a mean % cover value of 3
## fawn lily in Treated plots has a mean % cover value of 1.6
## fawn lily in Untreated plots has a mean % cover value of 3
## field chickweed in Treated plots has a mean % cover value of 3
## field chickweed in Untreated plots has a mean % cover value of 1.5
## herb robert geranium in Treated plots has a mean % cover value of 6.5
## mixed grass in Treated plots has a mean % cover value of 34.25
## mixed grass in Untreated plots has a mean % cover value of 70.75
## mixed invasive grasses in Untreated plots has a mean % cover value of 53
## mixed moss and grass in Treated plots has a mean % cover value of 48.5
## mixed moss and grass in Untreated plots has a mean % cover value of 52.5
## moss in Treated plots has a mean % cover value of 16
## moss in Untreated plots has a mean % cover value of 8
## onion in Untreated plots has a mean % cover value of 1
## rose in Untreated plots has a mean % cover value of 1
## saxifrage species in Treated plots has a mean % cover value of 1
## shiny geranium in Treated plots has a mean % cover value of 15.8333333333333
## shooting star in Treated plots has a mean % cover value of 11
## shooting star in Untreated plots has a mean % cover value of 3.25
## snowberry in Treated plots has a mean % cover value of 11.6666666666667
## snowberry in Untreated plots has a mean % cover value of 11
## speedwell in Untreated plots has a mean % cover value of 1
# # filter for native and treated
oakhaven_2025_cover_mean_by_group_species_native_treated <- oakhaven_2025_cover_mean_by_group_species %>% filter(Native_or_Invasive == "Native") %>% filter(Treated == "Treated")
#
# glue_data(oakhaven_2025_cover_mean_by_group_species_native_treated, "{Species} in treated plots has a mean % cover value of {mean_value}")oakhaven_2025_cover_mean_by_group_species## # A tibble: 32 × 5
## # Groups: Species, Treated [32]
## Species Treated Native_or_Invasive mean_value sd_value
## <chr> <chr> <chr> <dbl> <dbl>
## 1 Menzies larkspur Treated Native 9.5 0.707
## 2 Menzies larkspur Untreated Native 9 5.66
## 3 Oregon grape Treated Native 21.5 19.1
## 4 Oregon grape Untreated Native 11 2.65
## 5 Pacific sanicle Treated Native 1.67 1.15
## 6 Scotch broom Treated Invasive 2 1.41
## 7 Scotch broom Untreated Invasive 3.5 2.12
## 8 camas Treated Native 7.5 3.79
## 9 camas Untreated Native 5.6 4.34
## 10 delphinium Treated Native 9 1.41
## # ℹ 22 more rows
oakhaven_2025_cover_mean_by_group_species_nat <- oakhaven_2025_cover_mean_by_group_species %>% filter(Native_or_Invasive == "Native")
# maxval <- max(oakhaven_2025_cover_mean_by_group_species_nat$mean_value, na.rm = TRUE)
#
# glue_data(maxval, "{Species} in {Treated} plots has a mean % cover value of {mean_value}")
annot_max <- oakhaven_2025_cover_mean_by_group_species |>
dplyr::slice_max(order_by = mean_value) |>
dplyr::mutate(label = glue("In {Treated} areas the mean % cover of {Species} is {mean_value}")) |>
dplyr::select(Species, mean_value, label)## Adding missing grouping variables: `Treated`
annot_max## # A tibble: 32 × 4
## # Groups: Species, Treated [32]
## Treated Species mean_value label
## <chr> <chr> <dbl> <glue>
## 1 Treated Menzies larkspur 9.5 In Treated areas the mean % cover of M…
## 2 Untreated Menzies larkspur 9 In Untreated areas the mean % cover of…
## 3 Treated Oregon grape 21.5 In Treated areas the mean % cover of O…
## 4 Untreated Oregon grape 11 In Untreated areas the mean % cover of…
## 5 Treated Pacific sanicle 1.67 In Treated areas the mean % cover of P…
## 6 Treated Scotch broom 2 In Treated areas the mean % cover of S…
## 7 Untreated Scotch broom 3.5 In Untreated areas the mean % cover of…
## 8 Treated camas 7.5 In Treated areas the mean % cover of c…
## 9 Untreated camas 5.6 In Untreated areas the mean % cover of…
## 10 Treated delphinium 9 In Treated areas the mean % cover of d…
## # ℹ 22 more rows
# library(dplyr)
library(leaflet)
# Title control
# (Shackelford, et al., 2024). Global Restore Project. Restoration Futures Lab at the University of Victoria
title <- '<p style="text-align: center; height: 18px; "><img src="https://images.squarespace-cdn.com/content/v1/5e3c5b7e5460c55405a6d4d6/a8c2fb30-96fd-4042-925f-e76c7040dce6/Black+Logo+2.png?format=5w"><span style="font-size:9px;font-weight:bold; background-color: rgba(255, 255, 255, 0.9;");>GOE Monitoring Covenant Sites Map</span></p>'
# https://rstudio.github.io/leaflet/articles/markers.html
# Create a palette that maps factor levels to colors
#####
# #d95f02 orange; #7570b3 purple; #1b9e77
# https://colorbrewer2.org/#type=qualitative&scheme=Dark2&n=5
pal <- colorFactor(c("#1b9e77", "#7570b3", "#d95f02", "#e7298a", "#66a61e"), domain = c("Central Saanich", "Colwood", "Esquimalt", "Saanich", "Metchosin"))
HAT_sites_map <- leaflet(HAT_sites) %>%
addProviderTiles("Esri.WorldImagery") %>%
addCircleMarkers(
~ Lng, ~ Lat,
#
color = ~pal(Municipality),
# color = "yellow",
weight = 1, # size of circle border
stroke = TRUE, fillOpacity = 1, #fillOpacity = 0.5
radius = 5,
# OM_site_data$
# "<b>Global Restore Project GOE Monitoring Sites</b>", "<br>", "<i>(Shackelford, et. al., 2005-2022)</i>", "<br><br>",
popup = paste0(
"<img src = 'https://images.squarespace-cdn.com/content/v1/5e3c5b7e5460c55405a6d4d6/a8c2fb30-96fd-4042-925f-e76c7040dce6/Black+Logo+2.png?format=5w'>", "<br>","<br>",
"<b>Site:</b> ", "<b>", HAT_sites$Site, "</b>", "<br>",
"<b>Municipality:</b> ", HAT_sites$Municipality, "<br>",
"<b>Size:</b> ", HAT_sites$Size_ha, " (ha)", "<br>",
"<b>First Nations:</b> ", HAT_sites$FirstNations, "<br>",
# "<b>Project id:</b> ", HAT_sites$ID, "<br>",
"<b>HAT Status:</b> ", HAT_sites$HAT_Status, "<br>",
"<b>Co-Covenant:</b> ", HAT_sites$Co_Covenant, " (", HAT_sites$Date, ")", "<br>",
"<b>Ecosystems:</b> ", HAT_sites$Ecosystems, "<br>",
"<b>Volunteer Stewardship:</b> ", HAT_sites$Volunteer_Stewardship, "<br>"
)) %>%
addLegend("bottomright", pal = pal, values = HAT_sites$Municipality, title = "Municipality") %>%
setView(-123.44799, 48.52919, 11) %>%
# add controls
# addMiniMap(width = 150, height = 150, zoomLevelOffset = -4) %>%
addControl(title, position = "topright")
# Display map
HAT_sites_map# Save map
saveWidget(HAT_sites_map, "output/HAT_site_map.html")sessionInfo()## R version 4.2.1 (2022-06-23)
## Platform: x86_64-apple-darwin17.0 (64-bit)
## Running under: macOS Mojave 10.14.6
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRlapack.dylib
##
## locale:
## [1] en_CA.UTF-8/en_CA.UTF-8/en_CA.UTF-8/C/en_CA.UTF-8/en_CA.UTF-8
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] leaflet_2.1.1 crayon_1.5.2 glue_1.6.2 magrittr_2.0.3
## [5] ggrepel_0.9.1 timevis_2.1.0 readtext_0.81 gridExtra_2.3
## [9] htmlwidgets_1.5.4 plotly_4.10.1 lubridate_1.9.3 forcats_1.0.0
## [13] stringr_1.5.2 dplyr_1.1.4 purrr_1.0.2 readr_2.1.4
## [17] tidyr_1.3.0 tibble_3.2.1 ggplot2_3.4.0 tidyverse_2.0.0
##
## loaded via a namespace (and not attached):
## [1] httr_1.4.4 sass_0.4.2 bit64_4.0.5
## [4] vroom_1.6.0 jsonlite_1.8.8 viridisLite_0.4.1
## [7] bslib_0.4.0 shiny_1.7.3 highr_0.9
## [10] yaml_2.3.5 pillar_1.11.1 digest_0.6.30
## [13] RColorBrewer_1.1-3 promises_1.2.0.1 leaflet.providers_1.9.0
## [16] htmltools_0.5.3 httpuv_1.6.6 pkgconfig_2.0.3
## [19] xtable_1.8-4 scales_1.4.0 archive_1.1.7
## [22] later_1.3.0 tzdb_0.3.0 timechange_0.2.0
## [25] generics_0.1.3 farver_2.1.1 ellipsis_0.3.2
## [28] cachem_1.0.6 withr_2.5.0 lazyeval_0.2.2
## [31] cli_3.6.5 mime_0.12 evaluate_0.17
## [34] xml2_1.3.3 textshaping_0.3.6 tools_4.2.1
## [37] data.table_1.14.2 hms_1.1.2 lifecycle_1.0.3
## [40] compiler_4.2.1 jquerylib_0.1.4 systemfonts_1.0.4
## [43] rlang_1.1.6 grid_4.2.1 dichromat_2.0-0.1
## [46] rstudioapi_0.14 crosstalk_1.2.0 labeling_0.4.2
## [49] rmarkdown_2.17 gtable_0.3.6 R6_2.5.1
## [52] knitr_1.40 fastmap_1.1.0 bit_4.0.4
## [55] utf8_1.2.2 ragg_1.2.7 stringi_1.7.8
## [58] parallel_4.2.1 Rcpp_1.0.9 vctrs_0.6.5
## [61] tidyselect_1.2.0 xfun_0.41
sessionInfo()