A function to generate simulated double reading data with given properties
Usage
SimulatorFn(
  Nreaders,
  M,
  SelexForm,
  ErrorParams,
  BiasParams,
  SelexParams,
  ReadsMat,
  RecCv = 0.6,
  RecAr1 = 0.8,
  Amax = 100
)Arguments
- Nreaders
 The number of ageing readers
- M
 True natural mortality
- SelexForm
 Form of selectivity-at-age (logistic selex-at-age is the only one that is implemented).
- ErrorParams
 Error type CV in the following equation: VarAgeRead = (CV*TrueAge)^2
- BiasParams
 Bias type b in the following equation: EAgeRead = b*TrueAge
- SelexParams
 Selectivity parameters, which are standard to the logistic equation.
- ReadsMat
 Matrix describing number of reads per reader combination. Where each row specifies how many reads (in the first column) have a particular pattern of double reads (in the second through Nreaders+1 columns).
- RecCv
 CV of recruitment, and it shoudl be noted that recruitment is assumed to be stationary over time.
- RecAr1
 First-order autoregressive coefficient for recruitment
- Amax
 True maximum age
References
Punt, A.E., Smith, D.C., KrusicGolub, K., and Robertson, S. 2008. Quantifying age-reading error for use in fisheries stock assessments, with application to species in Australias southern and eastern scalefish and shark fishery. Can. J. Fish. Aquat. Sci. 65: 1991-2005.
Examples
# Parameters for generating data
# This represents 2 unique readers
# Row 1 -- Otoliths read only once by reader
# Row 2 -- Otoliths read twice by reader 1
# Row 2 -- Otoliths read only once by reader 2
# Row 4 -- Otoliths read twice by reader 2
# Row 5 -- Otoliths read once by reader 1 and once by reader 2
ReadsMat <- structure(matrix(
  nrow = 5, ncol = 5,
  c(
    rep(25, 5),
    1, 1, 0, 0, 1,
    0, 1, 0, 0, 0,
    0, 0, 1, 1, 1,
    0, 0, 0, 1, 0
  )
), dimnames = list(
  c(
    "Reader1_Only", "Reader1_DoubleReads",
    "Reader2_Only", "Reader2_DoubleReads",
    "Reader1_&_Reader2"
  ),
  c(
    "NumberOfReads",
    "Reader1", "Reader1_DoubleReads",
    "Reader2", "Reader2_DoubleReads"
  )
))
# Generate data
set.seed(2)
AgeReads <- SimulatorFn(
  Nreaders = 4, M = 0.2,
  SelexForm = "Logistic",
  SelexParams = c(5, 0.2), BiasParams = c(1, 1, 1.1, 1.1),
  ErrorParams = c(0.2, 0.2, 0.2, 0.2), ReadsMat = ReadsMat,
  RecCv = 0.6, RecAr1 = 0.8, Amax = 100
)