Data loading and cleaning

Create plot theme.

Create template containing unique tow IDs.

Create a dataframe to add common names by SVSPP code.

Biomass species-1 year-1 * Sum total biomass by species in each year.

Biomass species-1 tow-1 * Sum total biomass by species in each tow. * Add “template” metadata for each tow. * Add annual species biomass column. * Will use this dataframe to calculate center of biomass later on

Create a dataframe to add common names by SVSPP code.

Center of biomass calculation

Calculate center of species biomass for each year.

centerofbiomass<-biomass.spp %>% 
  filter(!is.na(SPECIES_BIOMASS), 
                !is.na(ANNUAL_SPECIES_BIOMASS)) %>% 
  mutate(weightedLAT = (SPECIES_BIOMASS/ANNUAL_SPECIES_BIOMASS)*DECDEG_BEGLAT) %>% 
  mutate(weightedLON = (SPECIES_BIOMASS/ANNUAL_SPECIES_BIOMASS)*DECDEG_BEGLON) %>% 
  dplyr::group_by(SVSPP,EST_YEAR) %>% 
  dplyr::summarise(CENTER_LAT = sum(weightedLAT, na.rm = TRUE), CENTER_LON = sum(weightedLON, na.rm = TRUE)) %>% 
  filter(!is.na(CENTER_LAT), 
         !is.na(CENTER_LON)) %>% 
  left_join(COMNAMEdata, by = "SVSPP")

Calculate biomass-weighted percentiles for each species

Using data from the entire length of the survey combined, calculate the 5, 10, and 25 percentiles of each species’ latitudinal distribution Percentiles are weighted by biomass so each percentile has an even proportion of the total biomass

## # A tibble: 6 x 4
##   species  quant upper_lat   lat
##   <chr>    <dbl>     <dbl> <dbl>
## 1 BLUEFISH     1         5  35.7
## 2 BLUEFISH     2        10  35.9
## 3 BLUEFISH     3        25  37.1
## 4 BLUEFISH     4        75  41.3
## 5 BLUEFISH     5        90  41.4
## 6 BLUEFISH     6        95  41.7

Plot percent of total biomass that falls within each percentile group by decade

X axis reports proportion of total decade biomass that falls within each percentile Y axis represents latitudinal percentiles of entire distribution

percent_bio_df<-do.call(rbind,percent_bio_list)

south_of_center<-percent_bio_df %>% 
  filter(quant < 4) %>% 
  group_by(COMNAME, decade, decade_bio) %>% 
  summarise(south25_bio = sum(quant_bio)) %>% 
  mutate(percentsouth = south25_bio/decade_bio) 

north_of_center<-percent_bio_df %>% 
  filter(quant > 4) %>% 
  group_by(COMNAME, decade, decade_bio) %>% 
  summarise(north25_bio = sum(quant_bio)) %>% 
  mutate(percentnorth = north25_bio/decade_bio)

in_center<-percent_bio_df %>% 
  filter(quant == 4) %>% 
  group_by(COMNAME, decade, decade_bio) %>% 
  summarise(center50_bio = sum(quant_bio)) %>% 
  mutate(percentcenter = center50_bio/decade_bio)


center<- in_center %>% 
  dplyr::select(COMNAME, decade, percentcenter)
north<- north_of_center %>% 
  dplyr::select(COMNAME, decade, percentnorth)
south<- south_of_center %>% 
  dplyr::select(COMNAME, decade, percentsouth)

percentchanges<-center %>% 
  left_join(north, by = c("COMNAME", "decade")) %>% 
  left_join(south, by = c("COMNAME", "decade")) %>% 
  dplyr::rename("Center" = "percentcenter", "North" = "percentnorth", "South" = "percentsouth") %>% 
  gather(key = "location", value = "percent", 3:5) 

Plot percent of total biomass that falls in northern 25%, center 50%, and southern 25% of range over time

Evaluated at an decadal scale

Plot percent of total biomass that falls in northern 25%, center 50%, and southern 25% of range over time

Evaluated at an annual scale