From 0e795fa5ed4eb0ce4415034973fbda8a2e635408 Mon Sep 17 00:00:00 2001 From: andrew-edwards Date: Mon, 23 Oct 2023 16:39:39 -0700 Subject: [PATCH] Harbour seals - explain confidence intervals, add coastwide numbers in (waiting for low/high definition), document(), #38. --- R/data.R | 37 +++++++++++------- R/plot-pacea-harbour-seals.R | 36 ++++++++++------- .../mammals/harbour-seals/harbour-seals.R | 19 ++++++++- data/harbour_seals.rda | Bin 12945 -> 14935 bytes man/harbour_seals.Rd | 26 ++++++++---- man/plot.pacea_harbour_seals.Rd | 21 +++++----- 6 files changed, 91 insertions(+), 48 deletions(-) diff --git a/R/data.R b/R/data.R index 7ecc7f8a..de2fd62e 100644 --- a/R/data.R +++ b/R/data.R @@ -956,9 +956,15 @@ ##' abundance was calculated for seven regions: the Strait of Georgia (SOG), ##' West Coast Vancouver Island (WCVI), Queen Charlotte Strait (QCS), Discovery ##' Passage (DP), Central Mainland Coast (CMC), Northern Mainland Coast (NMC), -##' and Haida Gwaii (HG); see Figure 1 of DFO (2022). The estimated abundances -##' were calculated using Generalised Additive Models, and are included here -##' (yielding the trends shown in Figure 3 of DFO, 2022). See that figure to see +##' and Haida Gwaii (HG); see Figure 1 of DFO (2022) for a map showing the +##' regions. The coastwide estimates are also given (labelled `Coastwide` so the +##' plot title is capitalised), for which the means are calculated as the sum of +##' the regions' means and the `low` and `high` values as TODO ??? +##' +##' +##' The estimated abundances +##' were calculated using Generalised Additive Models (GAMs), and are included here +##' (reproducing the trends shown in Figure 3 of DFO, 2022). See that figure to see ##' the amount of data available in each region; these data can be added to ##' `pacea` if desired -- please let us know. The final year of data in each ##' region is saved in the object `harbour_seals_data_final_year`. @@ -979,18 +985,22 @@ ##' of about 250 days in the GAM, hence some years have more than one value ##' and so we give a date rather than a year} ##' \item{region:}{the region that the estimate corresponds to; one of SOG, -##' WCVI, QCS, DP, CMC, NMC, or HG} +##' WCVI, QCS, DP, CMC, NMC, HG, or Coastwide} ##' \item{low:}{low end of the estimate of abundance, defined as -##' the TODO CHECK} +##' the upper value of the 95% confidence interval (calculated on the log +##' scale) from the GAM} ##' \item{mean:}{mean estimate of abundance, numbers of seals (in that region)} -##' \item{high:}{high end of the estimate of abundance, defined TODO CHECK as -##' the TODO CHECK} +##' \item{high:}{high end of the estimate of abundance, defined as +##' the lower value of the 95% confidence interval (calculated on the log +##' scale) from the GAM} ##' } ##' ##' @examples ##' \dontrun{ ##' harbour_seals -##' plot(harbour_seals) # TODO reproduce trends in Figure 3 +##' plot(harbour_seals) +##' plot(harbour_seals, region = "SOG") +##' plot(harbour_seals, include_coastwide = FALSE) ##' } ##' @author Andrew Edwards ##' @source Estimates provided by Strahan Tucker, then wrangled and imported using @@ -1015,18 +1025,17 @@ "harbour_seals_data_final_year" #' 200m isobath for separating inshore and offshore Pacific using bathymetry -#' -#' These coordinates roughly follow the continental shelf (200m depth) to provide the inshore and offshore boundary. The line is coarse and therefore ignores canyons. -#' +#' +#' These coordinates roughly follow the continental shelf (200m depth) to provide the inshore and offshore boundary. The line is coarse and therefore ignores canyons. +#' #' @format sf multilinestring object #' -#' @examples +#' @examples #' \dontrun{ #' isobath_200m #' plot(isobath_200m) #' plot(bccm_eez_poly, add = TRUE) #' } -#' +#' #' @source Generated from running `data-raw/roms/isobath_sfline.R`. "isobath_200m" - diff --git a/R/plot-pacea-harbour-seals.R b/R/plot-pacea-harbour-seals.R index 90c07327..d244cf1e 100644 --- a/R/plot-pacea-harbour-seals.R +++ b/R/plot-pacea-harbour-seals.R @@ -1,18 +1,20 @@ ##' Plot the Pacific Harbour Seals abundance estimates ##' -##' Default is to plot all seven regions, to mostly replicate -##' (TODO CHECK) Figure 3 of DFO (2022; see `?harbour_seals`) in a `ggplot` +##' Default is to plot all seven regions plus the coastwide estimate, to mostly replicate +##' Figure 3 of DFO (2022; see `?harbour_seals`) in a `ggplot` ##' style. If a single region is -##' indicated selected then a time series plot is shown, in the same style as +##' indicated then a time series plot is shown, in the same style as ##' plots of object class `pacea_biomass` (such as `hake_biomass`). -##' Note that the values are means and standard errors (not medians and +##' Note that the values are means and confidence intervals (not medians and ##' confidence intervals like other objects); see `?harbour_seals`. ##' ##' @param obj `pacea_harbour_seals`, as this is of class `pacea_harbour_seals` ##' and the plotting is tailored for this data set. ##' @param region which region to plot for a single plot; must be one of SOG, -##' WCVI, QCS, DP, CMC, NMC, or HG. If `NULL` (the default) then do a panel +##' WCVI, QCS, DP, CMC, NMC, HG, or coastwide. If `NULL` (the default) then do a panel ##' plot showing all seven regions. +##' @param include_coastwide logical, whether to include the coastwide population in the +##' eight panel plot (keep `region = NULL`). ##' @param value the column to plot as a solid line, in this case always the ##' default `mean` ##' @param y_max maximum y value for certain types of plot (use this if you get @@ -35,14 +37,14 @@ ##' @author Andrew Edwards ##' @examples ##' \dontrun{ -##' plot(hake_biomass) TODO -##' plot(hake_biomass, -##' xlim = c(lubridate::dmy(01011950), -##' lubridate::dmy(01012040))) # to expand x-axis +##' plot(harbour_seals) +##' plot(harbour_seals, region = "SOG") +##' plot(harbour_seals, include_coastwide = FALSE) ##' } plot.pacea_harbour_seals <- function(obj, region = NULL, value = "mean", + include_coastwide = TRUE, xlab = "Year", ylab = attr(obj, "axis_name"), y_tick_by = 1000, @@ -64,8 +66,8 @@ plot.pacea_harbour_seals <- function(obj, stopifnot("value must be a column of the object in the first argument" = value %in% names(obj)) - stopifnot("region must be one of SOG, WCVI, QCS, DP, CMC, NMC, HG" = - region %in% c("SOG", "WCVI", "QCS", "DP", "CMC", "NMC", "HG")) + stopifnot("region must be one of SOG, WCVI, QCS, DP, CMC, NMC, HG, Coastwide" = + region %in% c("SOG", "WCVI", "QCS", "DP", "CMC", "NMC", "HG", "Coastwide")) if(!is.null(region)){ region_choice <- region # Else region == region in next line does not work @@ -94,18 +96,22 @@ plot.pacea_harbour_seals <- function(obj, x_tick_extra_years = x_tick_extra_years, start_decade_ticks = start_decade_ticks) } else { - ggplot(data = obj, + if(!include_coastwide){ + obj <- dplyr::filter(obj, region != "Coastwide") + } + + ggplot2::ggplot(data = obj, aes(x = date, y = mean)) + - geom_ribbon(aes(ymin = low, + ggplot2::geom_ribbon(aes(ymin = low, ymax = high), fill = uncertainty_shade_col) + - geom_line(col = uncertainty_line_col) + + ggplot2::geom_line(col = uncertainty_line_col) + # Add back in if data get included # geom_point(data = harbour_seals_data, # aes(x = make_date(year), # y = mean)) + - facet_wrap(~region, + ggplot2::facet_wrap(~region, scales = "free_y", ncol = 2) } diff --git a/data-raw/mammals/harbour-seals/harbour-seals.R b/data-raw/mammals/harbour-seals/harbour-seals.R index e0fc00d4..99030e7d 100644 --- a/data-raw/mammals/harbour-seals/harbour-seals.R +++ b/data-raw/mammals/harbour-seals/harbour-seals.R @@ -78,9 +78,9 @@ p <- ggplot(data = harbour_seals_gam_new, ncol = 2) p -#Looks like matches SAR figure. Could add data, but TODO refer people to +#Looks like matches SAR figure. Could add data, but refer people to # original SAR in the help file. -# TODO in help clarify what these are, as caption talks about se only + class(harbour_seals_gam_new) <- c("pacea_harbour_seals", class(harbour_seals_gam_new)) @@ -98,6 +98,21 @@ harbour_seals <- harbour_seals_gam_new %>% mean, high) # not keeping year as duplicated for some years +# Calculate coastwide numbers and uncertainty + +coastwide <- dplyr::summarise(group_by(harbour_seals, date), + low = sum(low), # TODO this and high are + # wrong, emailed Kurtis + mean = sum(mean), + high = sum(high)) %>% + dplyr::mutate(region = "Coastwide") %>% + dplyr::relocate(date, region) + +stopifnot(names(harbour_seals) == names(coastwide)) + +harbour_seals <- rbind(harbour_seals, + coastwide) + # Also need the final date of the data, to then colour code the # figures. diff --git a/data/harbour_seals.rda b/data/harbour_seals.rda index 8e400559d8ea1a938625c288f03b2af06d28edc8..90d58e44fff9147ce9075917fcf9d2c555521c5b 100644 GIT binary patch literal 14935 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�MJ&gxqer$I& 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 Ctn+;U literal 12945 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
n&0`->c4|6zGt#F9l*~`q+A6_g+^(;Q^{o zA@B|Xr&K?){;~Bl{;H(hQx6iIqz)H0R?7^p%8$?2%n`DuXIypUfl>I=0jfw=Ji&#l zZ9gN6DOo7IoCRV24v{yz9n^p9*5!-b@3nRpVM|Mh-;+n45s7+qyQoQs5(ml1`IRNQ z3eMej5}kqy>rh#}|GQJgX^4PEvA!{J^OR{`pSL!k90_E;Cks5coo38J5P(K=>LbM= z`jx1gRIc+peahY=SK^;Mdy5XHaMQU2D13e3{DfBC6!aFswVzxILM3dy)7us{B!`f* zECAnT;=-#J?qsi22o1FXn*%~DAJ}tT}}95k832c~35*=x*E