Skip to contents

Removes fish records that fall outside an acceptable weight-length region defined by the log-linear model

weight=alfa\*length^beta\*exp(epsilon); epsilon~N(0,sigma^2)

with alfa=exp(logalfa), logalfa and other parameters corresponding to arguments to this function.

Usage

filterLogLinear(
  individuals,
  logalfa,
  beta,
  sigma,
  kAl,
  kAu = kAl,
  weightCol = "IndividualRoundWeight",
  lengthCol = "IndividualTotalLength"
)

Arguments

individuals

data.table of fish records

logalfa

The alfa parameter (on a log scale) for the log-linear model

beta

The beta parameter for the log-linear model

sigma

The standard deviation of weight for the log-linear model

kAl

Number of standard deviations (on a log scale) that defines the lower limit of the acceptable region

kAu

Number of standard deviations (on a log scale) that defines the upper limit of the acceptable region

weightCol

name of column in 'individuals' that contain fish weight (in a unit corresponding to alfa and beta). Default correspond to the Individual level of StoxBioticData, but see details.

lengthCol

name of column in 'individuals' that contain fish length (in a unit corresponding to alfa and beta). Default correspond to the Individual level of StoxBioticData

Value

data.table, like individuals, but with some records removed.

Details

This function is intended to provide the same filtering that is offered in ECA 3.x and ECA 4.x for removing outliers based on a log-linear weight-length model, and function arguments are named to correspond to the naming convention used in ECA.

Records are removed if their weights that outside the range from: alfa\*L^beta\*exp(kAu\*sigma) to alfa\*L^beta\*exp(-kAl\*sigma)

any records with missing length or weight is not removed.

Note that kAl and kAu are given on a log scale, so that the acceptable region is not symmetric around the growth curve when kAl=kAu.