Function to resample data and compute length and age expansion following Fig. 1 in Hulson and Williams 2024. Customized for ai complexes (i.e., blackspotted-rougheye rockfish) where population at length are expanded at species level, but age specimen data are combined and population at age are expanded at complex level

srvy_comps_ai_cmplx(
  lfreq_data,
  specimen_data,
  cpue_data,
  strata_data,
  r_t,
  yrs = NULL,
  bin = 1,
  boot_hauls = FALSE,
  boot_lengths = FALSE,
  boot_ages = FALSE,
  al_var = FALSE,
  al_var_ann = FALSE,
  age_err = FALSE,
  len_samples = NULL,
  age_samples = NULL,
  plus_len = NULL,
  plus_age = NULL,
  cmplx_code = NULL,
  by_strata = FALSE,
  global = FALSE
)

Arguments

lfreq_data

length frequency input dataframe

specimen_data

age-length specimen input dataframe

cpue_data

catch-per-unit effort input dataframe

strata_data

strata id and area size input dataframe

r_t

age reader-tester input dataframe, included in surveyISS package data

yrs

any year filter >= (default = NULL)

bin

bin size (default = 1 cm), also can use custom length bins following ss3 bin convention

boot_hauls

Boolean. Resample hauls w/replacement? (default = FALSE)

boot_lengths

Boolean. Resample length frequency w/replacement? (default = FALSE)

boot_ages

Boolean. Resample ages w/replacement? (default = FALSE)

al_var

Boolean. Include age-length variability in resampled age data? (default = FALSE)

al_var_ann

Boolean. Resample age-length variability annually or pooled across years? (default = FALSE)

age_err

Boolean. Include ageing error in resampled age data? (default = FALSE)

len_samples

If set at a value, tests reductions in haul-level length sampling. To test, set this value at some smaller level than current sampling rate, i.e., 25 (default = NULL)

age_samples

If set at a value, tests reductions (and increases) in survey-level number of ages collected. To test, set at a proportion of ages collected, i.e., 0.8 or 1.2 (default = NULL)

plus_len

If set at a value, computes length expansion with a plus-length group (default = FALSE)

plus_age

If set at a value, computes age expansion with a plus-age group (default = FALSE)

cmplx_code

Numeric value to replace the individual species codes with a complex code shared across species. (default = 3005012)

by_strata

Boolean. Should length/age pop'n values be computed at stratum level? (default = FALSE)

global

Boolean. Fill in missing length bins with global age-lenth key? (default = FALSE)

Value

List with dataframes of population numbers at length (.lpop) and age (.apop).