knitr::opts_chunk$set(echo = FALSE) #load chunks from r script # knitr::read_chunk("AnnualReportChunks.R") counts.pre <- annual.tbl.second %>% group_by(cap.method, pre.status)%>% summarise(N_pre=n()) counts.post <- annual.tbl.second %>% group_by(cap.method, post.status)%>% summarise(N_post=n())
\newpage \thispagestyle{empty}
Table 2: Exploitation rates by country for the r run.year
return year.
US Exploitation Rates: For US ER on Canadian Management Units (MU), a 10% ER Cap for Interior Fraser Coho is allowable under the PSC Coho agreement based on Low status. ER Caps are not defined for other Canadian MUs because status is not available. Canadian Exploitation Rates: For Canadian ER Caps on US MUs, the pre-season ER Caps are the total allowable ER under the PSC Coho agreement. For Canadian ER Caps on Canadian MUs, a 10% ER Cap for Interior Fraser Coho is allowable under the PSC Coho agreement. Pre-season ERs reflect combined US and Canadian pre-season planning processes and do not include estimates of impacts in Canadian freshwater fisheries. Pre-season unused ERs are the difference between the ER Caps and modelled values. Post-season ER Caps and unused ERs are comparable to pre-season values except that they are based on post-season cohort abundance and associated MU status. Post-season estimated ERs are generated from backwards Coho FRAM. A negative value for unused ERs indicates that the post-season estimate exceeded the allowable ER Cap.
t2 <- annual.tbl.second %>% # select(cap.method) %>% mutate(us.base.pre.cap = if_else(management.unit %in% c("Skagit", "Stillaguamish", "Snohomish", "Hood Canal", "US Strait JDF", "Quillayute", "Hoh", "Queets", "Grays Harbor"), us.pre.cap - cdn.pre.unused, us.pre.cap)) %>% mutate(us.base.post.cap = if_else(management.unit %in% c("Skagit", "Stillaguamish", "Snohomish", "Hood Canal", "US Strait JDF", "Quillayute", "Hoh", "Queets", "Grays Harbor"), us.post.cap - cdn.post.unused, us.post.cap)) %>% mutate(cdn.base.pre.cap = if_else(management.unit == "Interior Fraser", cdn.pre.cap - us.pre.unused, cdn.pre.cap)) %>% mutate(cdn.base.post.cap = if_else(management.unit == "Interior Fraser", cdn.post.cap - us.post.unused, cdn.post.cap)) %>% mutate_if(is.numeric, ~percent(.,accuracy = 0.1)) %>% select(management.unit, us.base.pre.cap, everything()) %>% select(management.unit:us.pre.unused, us.base.post.cap, everything()) %>% select(management.unit:us.post.unused, cdn.base.pre.cap, everything()) %>% select(management.unit:cdn.pre.unused, cdn.base.post.cap, everything()) %>% left_join(counts.pre, c("cap.method" , "pre.status")) %>% left_join(counts.post, c("cap.method" , "post.status")) %>% mutate(pre.status = if_else(N_pre > 1 & pre.status %in% c('L', 'M') & cap.method %in% c('imu', 'omu'), paste0('N', pre.status), if_else(N_pre == 1 & pre.status %in% c('L', 'M') & cap.method %in% c('imu', 'omu'), paste0('C', pre.status), pre.status))) %>% mutate(post.status = if_else(N_post > 1 & post.status %in% c('L', 'M') & cap.method %in% c('imu', 'omu'), paste0('N', post.status), if_else(N_post == 1 & post.status %in% c('L', 'M') & cap.method %in% c('imu', 'omu'), paste0('C', post.status), post.status))) %>% select(-N_pre, -N_post, -cap.method) cdn_skag_unused <- annual.tbl.second$cdn.pre.unused[annual.tbl.second$management.unit == "Skagit"] %>% percent(., accuracy = 0.1) us_skag_cap <- annual.tbl.second$us.pre.cap[annual.tbl.second$management.unit == "Skagit"] %>% percent(., accuracy = 0.1) footnote2 <- str_glue("Contains the treaty ER cap plus the unused portion of the intercepting party's ER. For example, in the preseason, Skagit includes US share plus the unused {cdn_skag_unused} Canadian allocation, totaling {us_skag_cap} total US allocation.") t2_us <- t2 %>% select(management.unit, pre.status, us.base.pre.cap, cdn.pre.unused, us.pre.cap:us.pre.unused, post.status, us.base.post.cap, cdn.post.unused, us.post.cap:us.post.unused) %>% # mutate(us.pre.cap = ifelse(is.na(us.pre.cap), us.pre.cap, md(paste0(us.pre.cap, '†')))) %>% mutate(across(c(cdn.pre.unused, cdn.post.unused, us.pre.cap, us.post.cap), ~ case_when(management.unit == "Interior Fraser" ~ "", management.unit != "Interior Fraser" ~ .))) t2_cdn <- t2 %>% select(management.unit, pre.status, cdn.base.pre.cap, us.pre.unused, cdn.pre.cap:cdn.pre.unused, post.status, cdn.base.post.cap, us.post.unused, cdn.post.cap:cdn.post.unused) %>% mutate(across(c(us.pre.unused, us.post.unused, cdn.pre.cap, cdn.post.cap), ~ case_when(management.unit != "Interior Fraser" ~ "", management.unit == "Interior Fraser" ~ .))) run.year.text <- paste0("**", as.character(run.year), "**") tbl_width <- '1600px' t2_gt_us <- t2_us %>% gt() %>% tab_spanner(label = 'Pre-Season', columns = pre.status:us.pre.unused) %>% tab_spanner(label = 'Post-Season', columns = post.status:us.post.unused) %>% tab_spanner('Exploitation Rate for Southern U.S.* Fisheries', management.unit:us.post.unused) %>% tab_options(table.width = tbl_width, table.font.size = '26px') %>% sub_missing(missing_text = "") %>% # text_transform(fn = function(x) {paste0(x, '<sup>‡</sup>')}, locations = cells_body(columns = c(us.pre.cap, us.post.cap), rows = 4:12)) %>% cols_label(management.unit = 'Management Unit', pre.status = md("Status<sup>§</sup>"), us.base.pre.cap = md("Base Cap<sup>†</sup>"), cdn.pre.unused = 'CDN unused', us.pre.cap = md('Cap + Unused<sup>‡</sup>'), us.pre.model = 'Model', us.pre.unused = 'Unused', post.status= md("Status<sup>§</sup>"), us.base.post.cap = md("Base Cap<sup>†</sup>"), cdn.post.unused = 'CDN Unused', us.post.cap = md('Cap + Unused<sup>‡</sup>'), us.post.estd = 'Model', us.post.unused = 'Unused') %>% # gt::opt_align_table_header('left') %>% tab_style(style = cell_borders(sides = c('right'), weight = px(4)), locations = cells_body(columns = c(1,7,13))) %>% tab_style(style = cell_borders(sides = c('bottom'), weight = px(4)), locations = cells_column_labels(columns = c(2:13))) %>% tab_style(style = cell_borders(sides = c('bottom'), weight = px(4)), locations = cells_body(columns = c(2:13), rows = 12)) %>% tab_style(style = cell_borders(sides = c('bottom'), weight = px(4)), locations = cells_column_labels(columns = c(2:13))) %>% tab_options(table_body.hlines.width = 0, column_labels.padding.horizontal = px(10), data_row.padding.horizontal = px(10)) %>% tab_style(style = "background-color: #f0f0f0 !important;", locations = cells_body(rows=c(2,4,6,8,10,12))) # cols_align('center') t2_gt_cdn <- t2_cdn %>% gt() %>% tab_spanner(label = 'Pre-Season', columns = pre.status:cdn.pre.unused ) %>% tab_spanner(label = 'Post-Season', columns = post.status:cdn.post.unused) %>% tab_spanner('Exploitation Rate for Canadian Fisheries', management.unit:cdn.post.unused)%>% tab_options(table.width = tbl_width, table.font.size ='26px') %>% sub_missing(missing_text = "") %>% # text_transform(fn = function(x) {paste0(x, '<sup>‡</sup>')}, locations = cells_body(columns = c(cdn.pre.cap, cdn.post.cap), rows = 2)) %>% cols_label(management.unit = 'Management Unit', pre.status = md("Status<sup>§</sup>"), cdn.base.pre.cap = md("Base Cap<sup>†</sup>"), us.pre.unused = 'US unused', cdn.pre.cap = md('Cap + Unused<sup>‡</sup>'), cdn.pre.model = 'Model', cdn.pre.unused = 'Unused', post.status= md("Status<sup>§</sup>"), cdn.base.post.cap = md("Base Cap<sup>†</sup>"), us.post.unused = 'US Unused', cdn.post.cap = md('Cap + Unused<sup>‡</sup>'), cdn.post.estd = 'Model', cdn.post.unused = 'Unused') %>% tab_footnote(footnote = ("*Southern U.S. is limited to US fisheries south of the Canadian border.")) %>% tab_footnote(footnote = md('<sup>§</sup>Southern US MUs that are in Low or Moderate status are assigned a "N"ormal or "C"omposite condition. See [PST](https://www.psc.org/about-us/history-purpose/pacific-salmon-treaty/) chapter 5 paragraphs 9 (b) and (c).')) %>% tab_footnote(footnote = md("<sup>†</sup>The base ER cap before the unused portion from the intercepting party is included. See PST chapter 5 paragraphs 8 through 9.")) %>% tab_footnote(footnote = md(paste0("<sup>‡</sup>", footnote2))) %>% tab_style(style = cell_borders(sides = c('right'), weight = px(4)), locations = cells_body(columns = c(1,7,13))) %>% tab_style(style = cell_borders(sides = c('bottom'), weight = px(4)), locations = cells_column_labels(columns = c(2:13))) %>% tab_style(style = cell_borders(sides = c('bottom'), weight = px(4)), locations = cells_body(columns = c(2:13), rows = 12)) %>% # tab_style(style = cell_borders(sides = c('bottom'), weight = px(4)), locations = cells_column_labels(columns = c(2:13))) %>% tab_options(table_body.hlines.width = 0, column_labels.padding.horizontal = px(10), data_row.padding.horizontal = px(10)) %>% tab_style(style = "background-color: #f0f0f0 !important;", locations = cells_body(rows=c(2,4,6,8,10,12))) t2_final <- gt_group(t2_gt_us, t2_gt_cdn) t2_final # # print(t2_gt)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.