---
title: "Scallop Example"
output:
rmarkdown::html_vignette:
fig_width: 6
fig_height: 4
vignette: >
%\VignetteIndexEntry{Scallop Example}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
---
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
```
## Introduction
This vignette is an example of an exploratory data analysis using `FishSET`. It
utilizes a range of `FishSET` functions for importing and upload data, performing
quality assessment/quality control, and summarizing and visualizing data.
## Packages
```{r setup}
library(FishSET)
library(dplyr)
library(tidyr)
library(ggplot2)
library(maps)
```
## Project Setup
The chunk below defines the location of the FishSET Folder. A temporary directory
is used in this vignette example; for actual use, set the `folderpath` to a location
that is not temporary.
```{r}
folderpath <- tempdir()
proj <- "scallop"
```
## Data Import
Upload the northeast scallop data from the FishSET package.
```{r}
load_maindata(dat = FishSET::scallop, project = proj)
```
This data contains `r nrow(scallopMainDataTable)` rows and `r ncol(scallopMainDataTable)` variables.
View and upload the ten minute squares map and wind turbine closure areas from the FishSET
package.
```{r}
plot_spat(FishSET::tenMNSQR)
plot_spat(FishSET::windLease)
```
```{r}
load_spatial(spat = FishSET::tenMNSQR, project = proj, name = "TenMNSQR")
load_spatial(spat = FishSET::windLease, project = proj, name = "WindClose")
```
Assign the regulatory zones (`scallopTenMNSQRSpatTable`) and closure areas (`scallopWindCloseSpatTable`) to the working environment.
```{r}
scallopTenMNSQRSpatTable <- table_view("scallopTenMNSQRSpatTable", proj)
scallopWindCloseSpatTable <- table_view("scallopWindCloseSpatTable", proj)
```
### Fleet assignment
Assign all observations to either "Access Area" or "Days at Sea" fleets.
```{r create_fleet_tabs}
fleet_tab <-
data.frame(
condition = c('`Plan Code` == "SES" & `Program Code` == "SAA"',
'`Plan Code` == "SES" & `Program Code` == "SCA"'),
fleet = c("Access Area", "Days at Sea"))
```
```{r}
# save fleet table to FishSET DB
fleet_table(scallopMainDataTable,
project = proj,
table = fleet_tab, save = TRUE)
# grab tab name
fleet_tab_name <- list_tables(proj, type = "fleet")
# create fleet column
scallopMainDataTable <-
fleet_assign(scallopMainDataTable, project = proj,
fleet_tab = fleet_tab_name)
```
### Bin Gears
The data contain several types of fishing gear. For simplicity, the
`GEARCODE` column is re-binned to include three categories: `"DREDGE"`, `"TRAWL-BOTTOM"`,
and `"OTHER"`.
```{r bin_gears}
scallopMainDataTable$GEARCODE_OLD <- scallopMainDataTable$GEARCODE
#Anything with "DREDGE" in the GEARCODE will be rebinned to "DREDGE"
pat_match <- "*DREDGE*"
reg_pat <- glob2rx(pat_match)
scallopMainDataTable$GEARCODE[grep(reg_pat, scallopMainDataTable$GEARCODE)] <- 'DREDGE'
#Look at the GEARCODE NOW, there should be 'DREDGE', 'TRAWL-BOTTOM', and some funky stuff
table(scallopMainDataTable$GEARCODE)
scallopMainDataTable$GEARCODE[!(scallopMainDataTable$GEARCODE %in% c('DREDGE','TRAWL-BOTTOM'))] <- 'OTHER'
```
### Operating Profit
Calculate operating profit by subtracting 2020 trip costs from aggregated revenues in 2020 dollars.
```{r calculate operating profit}
scallopMainDataTable <-
scallopMainDataTable %>%
mutate(OPERATING_PROFIT_2020 = DOLLAR_ALL_SP_2020_OBSCURED - TRIP_COST_WINSOR_2020_DOL)
```
### Summary Table
```{r}
summary_stats(scallopMainDataTable, proj) %>%
pretty_tab_sb()
```
## QAQC
### NA Check
```{r}
na_filter(scallopMainDataTable,
project = proj,
replace = FALSE, remove = FALSE,
rep.value = NA, over_write = FALSE)
```
### NaN Check
```{r}
nan_filter(scallopMainDataTable,
project = proj,
replace = FALSE, remove = FALSE,
rep.value = NA, over_write = FALSE)
```
### Unique Rows
```{r}
unique_filter(scallopMainDataTable, project = proj, remove = FALSE)
```
### Empty Variables
"Empty" variables contain all `NA`s.
```{r}
empty_vars_filter(scallopMainDataTable, project = proj, remove = FALSE)
```
### Lon/Lat Format
```{r}
degree(scallopMainDataTable, project = proj,
lat = "DDLAT", lon = "DDLON",
latsign = NULL, lonsign = NULL,
replace = FALSE)
```
### Spatial QAQC
```{r}
spat_qaqc_out <- spatial_qaqc(dat = scallopMainDataTable,
project = proj,
spat = scallopTenMNSQRSpatTable,
lon.dat = "DDLON",
lat.dat = "DDLAT")
spat_qaqc_out$dataset <- NULL # drop dataset
spat_qaqc_out$spatial_summary %>%
pretty_lab(cols = "n") %>%
pretty_tab()
spat_qaqc_out[2:4]
```
## Data Creation
### Landing Year
```{r}
scallopMainDataTable <-
scallopMainDataTable %>%
mutate(DB_LANDING_YEAR = as.numeric(format(date_parser(DATE_TRIP), "%Y")))
```
### Finagle LANDED_OBSCURED to Thousands of Pounds
```{r}
scallopMainDataTable$LANDED_OBSCURED <- scallopMainDataTable$LANDED_OBSCURED / 1000
```
### CPUE
Create `CPUE` variable using `TRIP_LENGTH` and `LANDED_OBSCURED`. Filter out any
infinite values.
```{r}
scallopMainDataTable <-
cpue(scallopMainDataTable, proj,
xWeight = "LANDED_OBSCURED",
xTime = "TRIP_LENGTH",
name = "CPUE")
scallopMainDataTable <-
scallopMainDataTable %>%
filter(!is.infinite(CPUE))
```
#### CPUE Percent Rank
Add a percent rank column to filter outliers.
```{r}
outlier_table(scallopMainDataTable, proj, x = "CPUE") %>%
pretty_lab() %>%
pretty_tab()
scallopMainDataTable <-
scallopMainDataTable %>%
mutate(CPUE_p = percent_rank(CPUE))
```
### VPUE
Same as above but with revenue instead of meat pounds.
```{r}
scallopMainDataTable <-
cpue(scallopMainDataTable, proj,
xWeight = "DOLLAR_OBSCURED",
xTime = "TRIP_LENGTH",
name = "VPUE")
scallopMainDataTable <-
scallopMainDataTable %>%
filter(!is.infinite(VPUE))
```
#### VPUE Percent Rank
Add a percent rank column to filter outliers.
```{r}
outlier_table(scallopMainDataTable, proj, x = "VPUE") %>%
pretty_lab() %>%
pretty_tab()
scallopMainDataTable <-
scallopMainDataTable %>%
mutate(VPUE_p = percent_rank(VPUE))
```
### Fleet Tabulation
```{r}
scallopMainDataTable %>%
count(fleet) %>%
mutate(perc = round(n/sum(n) * 100, 1)) %>%
pretty_lab(cols = "n") %>%
pretty_tab()
```
### Zone Assignment
Assign each observation to a regulatory zone.
```{r}
scallopMainDataTable <-
assignment_column(scallopMainDataTable, project = proj,
spat = scallopTenMNSQRSpatTable,
lon.dat = "DDLON",
lat.dat = "DDLAT",
cat = "TEN_ID",
name = "ZONE_ID",
closest.pt = FALSE,
hull.polygon = FALSE)
```
### Closure Area Assignment
Assign each observation to a closure area. An observation will have an `NA` if
it does not occur within a closure area.
```{r}
scallopMainDataTable <-
assignment_column(scallopMainDataTable, project = proj,
spat = scallopWindCloseSpatTable,
lon.dat = "DDLON",
lat.dat = "DDLAT",
cat = "NAME",
name = "closeID",
closest.pt = FALSE,
hull.polygon = FALSE)
scallopMainDataTable <-
scallopMainDataTable %>%
mutate(in_closure = !is.na(closeID))
```
`r sum(scallopMainDataTable$in_closure)`
observations (`r round(sum(scallopMainDataTable$in_closure)/nrow(scallopMainDataTable) * 100, 2)`%) occurred inside a closure area.
```{r}
agg_helper(scallopMainDataTable,
value = "in_closure",
count = TRUE,
fun = NULL) %>%
pivot_wider(names_from = "in_closure", values_from = "n") %>%
rename("Outside Closure(s)" = "FALSE", "Inside Closure(s)" = "TRUE") %>%
pretty_lab() %>%
pretty_tab()
```
Observations inside/outside closures by fleet.
```{r}
agg_helper(scallopMainDataTable, group = "fleet",
value = "in_closure", count = TRUE, fun = NULL) %>%
pivot_wider(names_from = "in_closure", values_from = "n") %>%
rename("Outside Closure(s)" = "FALSE", "Inside Closure(s)" = "TRUE") %>%
pretty_lab() %>%
pretty_tab()
```
Observations inside/outside closures by year.
```{r}
agg_helper(scallopMainDataTable, value = "in_closure",
group = "DB_LANDING_YEAR",
count = TRUE, fun = NULL) %>%
pivot_wider(names_from = "in_closure", values_from = "n",
values_fill = 0) %>%
arrange(DB_LANDING_YEAR) %>%
rename("Outside closure(s)" = "FALSE", "Inside closure(s)" = "TRUE") %>%
pretty_lab(ignore = "DB_LANDING_YEAR") %>%
pretty_tab()
```
Observations inside/outside closures by year and fleet.
```{r}
agg_helper(scallopMainDataTable, value = "in_closure",
group = c("DB_LANDING_YEAR", "fleet"),
count = TRUE, fun = NULL) %>%
pivot_wider(names_from = "in_closure", values_from = "n",
values_fill = 0) %>%
arrange(DB_LANDING_YEAR) %>%
rename("Outside closure(s)" = "FALSE", "Inside closure(s)" = "TRUE") %>%
pretty_lab(ignore = "DB_LANDING_YEAR") %>%
pretty_tab_sb(width = "60%")
```
## Zone Summary
### Frequency
The number of observations by zone.
```{r}
zone_out <- zone_summary(scallopMainDataTable, project = proj,
spat = scallopTenMNSQRSpatTable,
zone.dat = "ZONE_ID",
zone.spat = "TEN_ID",
output = "tab_plot",
count = TRUE,
breaks = NULL, n.breaks = 10,
na.rm = TRUE)
zone_out$plot
zone_out$table %>%
pretty_lab(cols = "n") %>%
pretty_tab_sb(width = "40%")
```
Percent of observations by zone.
```{r}
zone_out <-
zone_summary(scallopMainDataTable,
project = proj,
spat = scallopTenMNSQRSpatTable,
zone.dat = "ZONE_ID",
zone.spat = "TEN_ID",
output = "tab_plot",
count = TRUE, fun = "percent",
breaks = c(seq(.2, .5, .1), seq(1, 2, .5)),
na.rm = TRUE)
zone_out$plot
zone_out$table %>%
pretty_lab(ignore = "ZONE_ID") %>%
pretty_tab_sb(width = "40%")
```
Zone frequency (Access Area fleet).
```{r}
zone_out <-
scallopMainDataTable %>%
filter(fleet == "Access Area") %>%
zone_summary(project = proj,
spat = scallopTenMNSQRSpatTable,
zone.dat = "ZONE_ID",
zone.spat = "TEN_ID",
output = "tab_plot",
count = TRUE,
breaks = NULL, n.breaks = 10,
na.rm = TRUE)
zone_out$plot
zone_out$table %>%
pretty_lab(cols = "n") %>%
pretty_tab_sb(width = "40%")
```
Zone frequency (Days at Sea fleet).
```{r}
zone_out <-
scallopMainDataTable %>%
filter(fleet == "Days at Sea") %>%
zone_summary(project = proj,
spat = scallopTenMNSQRSpatTable,
zone.dat = "ZONE_ID",
zone.spat = "TEN_ID",
output = "tab_plot",
count = TRUE,
breaks = NULL, n.breaks = 10,
na.rm = TRUE)
zone_out$plot
zone_out$table %>%
pretty_lab(cols = "n") %>%
pretty_tab_sb(width = "40%")
```
### Catch
Total catch (meats).
```{r}
zone_out <-
zone_summary(scallopMainDataTable,
project = proj,
spat = scallopTenMNSQRSpatTable,
zone.dat = "ZONE_ID",
zone.spat = "TEN_ID",
count = FALSE,
var = "LANDED_OBSCURED", fun = "sum",
breaks = c(1e3, 1e4, 5e4, 1e5, seq(1e6, 1.3e7, 2e6)),
output = "tab_plot", na.rm = TRUE)
zone_out$plot
zone_out$table %>%
pretty_lab(cols = "LANDED_OBSCURED") %>%
pretty_tab_sb(width = "40%")
```
Average catch (meats).
```{r}
zone_out <-
zone_summary(scallopMainDataTable,
project = proj,
spat = scallopTenMNSQRSpatTable,
zone.dat = "ZONE_ID",
zone.spat = "TEN_ID",
count = FALSE,
var = "LANDED_OBSCURED", fun = "mean",
breaks = c(1e3, 5e3, seq(1e4, 4e4, 5e3)),
output = "tab_plot", na.rm = TRUE)
zone_out$plot
zone_out$table %>%
pretty_lab(cols = "LANDED_OBSCURED") %>%
pretty_tab_sb(width = "40%")
```
Percent of total catch (meat).
```{r}
zone_out <-
zone_summary(scallopMainDataTable, project = proj,
spat = scallopTenMNSQRSpatTable,
zone.dat = "ZONE_ID",
zone.spat = "TEN_ID",
count = FALSE,
var = "LANDED_OBSCURED", fun = "percent",
breaks = seq(0, 2, .2),
bin_colors = c("white", fishset_viridis(10)),
output = "tab_plot", na.rm = TRUE)
zone_out$plot
zone_out$table %>%
pretty_lab(cols = c("LANDED_OBSCURED", "LANDED_OBSCURED_perc"), type = "scientific") %>%
pretty_tab_sb(width = "60%")
```
### Trip Length
Average trip length for Access Area and Days at Sea fleet.
```{r}
zone_out <-
zone_summary(scallopMainDataTable, project = proj,
spat = scallopTenMNSQRSpatTable,
zone.dat = "ZONE_ID",
zone.spat = "TEN_ID",
count = FALSE,
var = "TRIP_LENGTH", fun = "mean",
breaks = seq(2, 16, 2),
output = "tab_plot", na.rm = TRUE)
zone_out$plot
zone_out$table %>%
pretty_lab(cols = "TRIP_LENGTH", type = "decimal") %>%
pretty_tab_sb(width = "40%")
```
### CPUE
Average CPUE for Access Area and Days at Sea fleets.
```{r}
zone_out <-
scallopMainDataTable %>%
filter(CPUE_p >= .025 & CPUE_p <= .975) %>%
zone_summary(project = proj,
spat = scallopTenMNSQRSpatTable,
zone.dat = "ZONE_ID",
zone.spat = "TEN_ID",
count = FALSE,
var = "CPUE", fun = "mean",
na.rm = TRUE, output = "tab_plot")
zone_out$plot
zone_out$table %>%
pretty_lab(cols = "CPUE") %>%
pretty_tab_sb(width = "50%")
```
### VPUE
Average VPUE for Access Area and Days at Sea fleets.
```{r}
zone_out <-
scallopMainDataTable %>%
filter(VPUE_p >= .025 & VPUE_p <= .975) %>%
zone_summary(project = proj,
spat = scallopTenMNSQRSpatTable,
zone.dat = "ZONE_ID",
zone.spat = "TEN_ID",
count = FALSE,
var = "VPUE", fun = "mean",
breaks = seq(5e3, 3.5e4, 5e3),
na.rm = TRUE, output = "tab_plot")
zone_out$plot
zone_out$table %>%
pretty_lab(cols = "VPUE") %>%
pretty_tab_sb(width = "50%")
```
## Closure Summary
Number of observations in closure areas.
```{r}
zone_out <-
zone_summary(scallopMainDataTable, project = proj,
spat = scallopWindCloseSpatTable,
zone.dat = "closeID",
zone.spat = "NAME",
count = TRUE,
na.rm = TRUE, dat.center = FALSE,
output = "tab_plot")
zone_out$table %>%
pretty_lab() %>%
pretty_tab_sb(width = "40%")
zone_out$plot
```
Percent of observations in closure areas.
```{r}
zone_out <-
zone_summary(scallopMainDataTable, project = proj,
spat = scallopWindCloseSpatTable,
zone.dat = "closeID",
zone.spat = "NAME",
fun = "percent",
count = TRUE,
na.rm = TRUE, dat.center = FALSE,
output = "tab_plot")
zone_out$table %>%
pretty_lab() %>%
pretty_tab_sb(width = "40%")
zone_out$plot
```
Percent of total revenue by closure area.
```{r}
zone_out <-
zone_summary(scallopMainDataTable, project = proj,
spat = scallopWindCloseSpatTable,
zone.dat = "closeID",
zone.spat = "NAME",
var = "DOLLAR_OBSCURED",
fun = "percent",
count = FALSE,
na.rm = TRUE, dat.center = FALSE,
output = "tab_plot")
zone_out$table %>%
pretty_lab() %>%
pretty_tab_sb(width = "70%")
zone_out$plot
```
Percent of total revenue by fleet.
```{r}
zone_out <-
zone_summary(scallopMainDataTable, project = proj,
spat = scallopWindCloseSpatTable,
zone.dat = "closeID",
zone.spat = "NAME",
var = "DOLLAR_OBSCURED", group = "fleet",
fun = "percent",
count = FALSE,
na.rm = TRUE, dat.center = FALSE,
output = "tab_plot")
zone_out$table %>%
pretty_lab() %>%
pretty_tab_sb(width = "70%")
zone_out$plot
```
Average meat catch per closure area.
```{r}
zone_out <-
zone_summary(scallopMainDataTable, project = proj,
spat = scallopWindCloseSpatTable,
zone.dat = "closeID",
zone.spat = "NAME",
var = "LANDED_OBSCURED",
fun = "mean",
count = FALSE,
na.rm = TRUE, dat.center = FALSE,
output = "tab_plot")
zone_out$table %>%
pretty_lab() %>%
pretty_tab_sb(width = "50%")
zone_out$plot
```
Average meat catch by fleet.
```{r}
zone_out <-
zone_summary(scallopMainDataTable, project = proj,
spat = scallopWindCloseSpatTable,
zone.dat = "closeID",
zone.spat = "NAME",
var = "LANDED_OBSCURED", group = "fleet",
fun = "mean",
count = FALSE,
na.rm = TRUE, dat.center = FALSE,
output = "tab_plot")
zone_out$table %>%
pretty_lab() %>%
pretty_tab_sb(width = "60%")
zone_out$plot
```
## Outliers
### POUNDS
```{r}
outlier_table(scallopMainDataTable, proj,
x = "LANDED_OBSCURED") %>%
pretty_lab() %>%
pretty_tab()
```
```{r}
outlier_plot(scallopMainDataTable, proj,
x = "LANDED_OBSCURED",
dat.remove = "none",
x.dist = "normal",
output.screen = TRUE)
```
```{r}
outlier_plot(scallopMainDataTable, proj,
x = "LANDED_OBSCURED",
dat.remove = "mean_3SD",
x.dist = "normal",
output.screen = TRUE)
```
## Temporal Plots
```{r}
temp_plot(scallopMainDataTable, proj,
var.select = "LANDED_OBSCURED",
len.fun = "percent",
agg.fun = "sum",
date.var = "DATE_TRIP",
pages = "multi")
```
```{r}
temp_plot(scallopMainDataTable, proj,
var.select = "TRIP_LENGTH",
len.fun = "percent",
agg.fun = "sum",
date.var = "DATE_TRIP",
pages = "multi")
```
```{r}
temp_plot(scallopMainDataTable, proj,
var.select = "DOLLAR_OBSCURED",
len.fun = "percent",
agg.fun = "sum",
date.var = "DATE_TRIP",
pages = "multi")
```
## Scatter Plots
Trip length by meat catch.
```{r}
xy_plot(scallopMainDataTable, proj,
var1 = "TRIP_LENGTH", var2 = "LANDED_OBSCURED",
regress = FALSE, alpha = .3)
```
Trip length by revenue.
```{r}
xy_plot(scallopMainDataTable, proj,
var1 = "TRIP_LENGTH", var2 = "DOLLAR_OBSCURED",
regress = FALSE, alpha = .3)
```
Trip length by trip cost (Winsor).
```{r}
xy_plot(scallopMainDataTable, proj,
var1 = "TRIP_LENGTH", var2 = "TRIP_COST_WINSOR_2020_DOL",
regress = FALSE, alpha = .3)
```
## Correlation Matrix
```{r fig.width=8.5, fig.height=6.5}
corr_outs <-
corr_out(scallopMainDataTable, proj,
variables = "all",
method = "pearson",
show_coef = FALSE)
corr_outs$plot
corr_outs$table %>%
pretty_tab_sb(width = "100%")
```
## Active Vessels
vessel count by year.
```{r}
ves_out <-
vessel_count(scallopMainDataTable, proj,
v_id = "PERMIT.y",
date = "DATE_TRIP",
period = "year", type = "line")
ves_out$table %>% pretty_tab()
ves_out$plot
```
vessel count by fleet.
```{r}
ves_out <-
vessel_count(scallopMainDataTable, proj,
v_id = "PERMIT.y",
group = "fleet",
output = "table")
ves_out$table %>% pretty_tab()
ves_out$plot
```
vessel count by year and fleet.
```{r}
ves_out <-
vessel_count(scallopMainDataTable, proj,
v_id = "PERMIT.y",
group = "fleet",
date = "DATE_TRIP",
period = "year", type = "line")
ves_out$table %>%
pretty_lab(cols = "PERMIT.y") %>%
pretty_tab_sb(width = "40%")
ves_out$plot
```
vessel count by gearcode.
```{r}
ves_out <-
vessel_count(scallopMainDataTable, proj,
v_id = "PERMIT.y",
group = "GEARCODE", tran = "log")
ves_out$table %>%
pretty_lab() %>%
pretty_tab()
ves_out$plot
```
## Catch
Total meat catch by year.
```{r}
catch_out <-
species_catch(scallopMainDataTable, proj,
species = "LANDED_OBSCURED",
date = "DATE_TRIP",
period = "year",
fun = "sum",
type = "line", format_lab = "decimal")
catch_out$table %>%
pretty_lab(cols = "LANDED_OBSCURED") %>%
pretty_tab()
catch_out$plot
```
Total meat catch by fleet.
```{r}
catch_out <-
species_catch(scallopMainDataTable, proj,
species = "LANDED_OBSCURED",
group = "fleet",
fun = "sum",
type = "bar", format_lab = "decimal")
catch_out$table %>%
pretty_lab(cols = "LANDED_OBSCURED") %>%
pretty_tab()
catch_out$plot
```
Total meat catch by year and fleet.
```{r}
catch_out <-
species_catch(scallopMainDataTable, proj,
species = "LANDED_OBSCURED",
date = "DATE_TRIP",
period = "year",
group = "fleet",
fun = "sum",
type = "line", format_lab = "decimal")
catch_out$table %>%
pretty_lab(cols = "LANDED_OBSCURED") %>%
pretty_tab_sb(width = "40%")
catch_out$plot
```
## CPUE
Average CPUE by year.
```{r}
cpue_out <-
species_catch(scallopMainDataTable, proj,
species = "CPUE",
date = "DATE_TRIP",
period = "year",
fun = "mean", type = "line")
cpue_out$table %>%
pretty_lab(cols = "CPUE") %>%
pretty_tab()
cpue_out$plot
```
Average CPUE by year and fleet.
```{r}
cpue_out <-
species_catch(scallopMainDataTable, proj,
species = "CPUE",
date = "DATE_TRIP",
period = "year",
group = "fleet",
fun = "mean", type = "line")
cpue_out$table %>%
pretty_lab(cols = "CPUE") %>%
pretty_tab_sb(width = "40%")
cpue_out$plot
```
## VPUE
Average VPUE by year.
```{r}
vpue_out <-
species_catch(scallopMainDataTable, proj,
species = "VPUE",
date = "DATE_TRIP",
period = "year",
fun = "mean", type = "line")
vpue_out$table %>%
pretty_lab(cols = "VPUE") %>%
pretty_tab()
vpue_out$plot
```
Average VPUE by year and fleet.
```{r}
vpue_out <-
species_catch(scallopMainDataTable, proj,
species = "VPUE",
date = "DATE_TRIP",
period = "year",
group = "fleet",
fun = "mean", type = "line")
vpue_out$table %>%
pretty_lab(cols = "VPUE") %>%
pretty_tab_sb(width = "40%")
vpue_out$plot
```
Average VPUE by gearcode.
```{r}
vpue_out <-
species_catch(scallopMainDataTable, proj,
species = "VPUE",
group = "GEARCODE",
fun = "mean", type = "line")
vpue_out$table %>%
pretty_lab() %>%
pretty_tab()
vpue_out$plot + angled_theme()
```
## Distributions
### LANDED_OBSCURED
KDE, ECDF, and CDF of meat catch.
```{r}
density_plot(scallopMainDataTable, proj,
var = "LANDED_OBSCURED",
type = "all", tran = "log")
```
KDE, ECDF, and CDF of meat catch by fleet.
```{r}
density_plot(scallopMainDataTable, proj,
var = "LANDED_OBSCURED",
group = "fleet", position = "stack",
type = "all", tran = "log", pages = "multi")
```
KDE of meat catch by year.
```{r}
density_plot(scallopMainDataTable, proj,
var = "LANDED_OBSCURED",
facet_by = "DB_LANDING_YEAR",
filter_by = "DB_LANDING_YEAR",
filter_value = 2007:2013,
type = "kde", bw = 1.5,
tran = "log", scale = "free_y") +
angled_theme()
density_plot(scallopMainDataTable, proj,
var = "LANDED_OBSCURED",
facet_by = "DB_LANDING_YEAR",
filter_by = "DB_LANDING_YEAR",
filter_value = 2014:2019,
type = "kde", bw = 1.5,
tran = "log", scale = "free_y") +
angled_theme()
```
```{r echo = FALSE}
unlink(folderpath)
```