Package {FESta}


Type: Package
Title: Fishing Effort Standardization
Version: 1.0.1
Description: Marine fisheries governance and management rely heavily on reliable indicators of stock abundance and fishing pressure to ensure the sustainable utilization of marine resources. Catch Per Unit Effort (CPUE) is widely used as an index of relative abundance, but direct comparison of catch rates is often affected by differences in fishing effort, vessel characteristics, gear efficiency, and operational practices. The FESta package provides methods for fishing effort and CPUE standardization, including vessel-based, gear-based, relative effort, derived effort, generalized linear models, generalized additive models, generalized linear mixed models, ordered quantile transformation models, and multi-gear standardization techniques for fisheries stock assessment and monitoring. To cite our package run this command, citation("FESta").
License: GPL-2 | GPL-3 [expanded from: GPL (≥ 2)]
Encoding: UTF-8
LazyData: true
Depends: R (≥ 4.1.0)
Imports: bestNormalize, dplyr, ggplot2, gridExtra, lme4, MASS, mgcv, patchwork, rlang, scales, statmod, stats, tidyr, tweedie
Config/roxygen2/version: 8.0.0
NeedsCompilation: no
Packaged: 2026-08-03 09:16:33 UTC; hp
Author: Eldho Varghese [aut, cre], Jayasankar J [aut], Ashutosh Dalal [aut, ctb], Sathianandan T V [aut], Sreepriya V [aut, ctb], Reshma Gills [ctb], Grinson George [ctb]
Maintainer: Eldho Varghese <eldhoiasri@gmail.com>
Repository: CRAN
Date/Publication: 2026-08-03 10:40:15 UTC

Derived Effort Based Standardization (DEstd)

Description

The derived effort approach (Sparre, 1998) assumes effort is a good measure when it relates linearly to catch rate. Since different gears use incompatible effort units, each is converted to CPUE and then to a relative CPUE so they can be combined. Dividing total yield by the yield-weighted sum of these relative CPUEs gives a standardized effort series that reflects relative abundance.

The catch per unit effort for gear i in year y is:

CPUE_i(y)=\frac{Y_i(y)}{f_i(y)}

where Y_i(y) is the catch and f_i(y) is the corresponding effort.

Relative CPUE is computed as:

R_i(y)=\frac{CPUE_i(y)} {\mathrm{Mean}[CPUE_i]}

where \mathrm{Mean}[CPUE_i] is the average CPUE of gear i across all years.

Annual relative effort is estimated as:

R(y)=\sum_{i=1}^{k} \left[ R_i(y)\times\frac{Y_i(y)}{Y_E(y)} \right]

where Y_E(y) is the total catch from gears for which effort information is available.

The Standardized CPUE is then calculated as:

E(y)= \frac{Y_T(y)/R(y)} {\mathrm{Mean}[Y_T/R]}

where Y_T(y) is the total annual catch (including gears for which effort is not known).

Usage

DEstd(data, year_col, gear_col, catch_col, effort_col, total_catch_col)

Arguments

data

A data frame containing the columns of year, gear, catch, effort and total annual catch. See the example dataset DEstd_dataset.

year_col

Specify the year column name (eg. "Year").

gear_col

Specify the gear types column name (eg. "Gears").

catch_col

Specify the catch column name (eg. "Catch").

effort_col

Specify the effort column name (eg. "Effort").

total_catch_col

Specify the total annual catch column name (eg. "Annual Catch").

Value

The output includes a summary table containing Year, Total Catch, Nominal CPUE, and Standardized CPUE. In addition, two plots are produced: Nominal CPUE versus Total Catch and Standardized CPUE versus Total Catch.

Note

The unit of the standardized CPUE will be based on the units of Catch and Effort.

If effort column has zero values then the rows corresponding to them are removed to calculate CPUE.

References

Sparre, P., and Venema, S.C. (1992). Introduction to Tropical Fish Stock Assessment. FAO Fisheries Technical Paper No. 306/1, 376 pp.

Acknowledgements: The authors sincerely thank the Director, ICAR–Central Marine Fisheries Research Institute (ICAR-CMFRI), Kochi, for providing the necessary facilities and institutional support. The authors also gratefully acknowledge the support provided by the Indian Council of Agricultural Research (ICAR), Department of Agricultural Research and Education (DARE), Government of India, through the ICAR-National Fellow Project.

Examples


## Not run: 

library(FESta)
data("DEstd_dataset")
result<-DEstd(data=DEstd_dataset,year_col = "Year",gear_col = "Gear",
catch_col = "Catch",total_catch_col="Total_Catch", effort_col = "Effort")
print(result)

## End(Not run)


DEstd_dataset

Description

A fisheries dataset for demonstrating Derived Effort Standardization (DEstd) method.

Usage

DEstd_dataset

Format

A data frame with 32 observations and 5 variables:

Year

Fishing year.

Gear

Sampled fishing gear used during the fishing operation.

Catch

Observed catch corresponding to the sampled effort.

Effort

Fishing effort expended.

Total_Catch

Estimated total annual catch (including gears for which effort is not known).

Details

The dataset contains annual fishing observations collected from multiple fishing gears along with catch, fishing effort, and total annual catch information. It is intended for illustrating the application of the DEstd() function in the FESta package.

See Also

DEstd

Examples

## Not run: 

library(FESta)
data("DEstd_dataset")
result<-DEstd(data=DEstd_dataset,year_col = "Year",gear_col = "Gear",
catch_col = "Catch",total_catch_col="Total_Catch", effort_col = "Effort")
print(result)

## End(Not run)


Generalized Additive Model Based Standardization (GAMstd)

Description

Generalized Additive Models (GAMs) provide a flexible approach for fisheries CPUE standardization by combining linear effects of categorical variables with smooth, non-parametric effects of continuous environmental covariates.

In this implementation, categorical variables such as year, gear, area, or season are incorporated as fixed effects, while continuous variables such as sea surface temperature (SST), depth, salinity, or other environmental covariates are modeled using spline-based smooth functions.

The fitted GAM may be expressed as:

g(\mu_i) = \beta_0 + \sum_{k=1}^{p}\beta_kX_{ik} + \sum_{j=1}^{q}f_j(Z_{ij}) + \log(E_i)

where g(.) is the link function, X_{ik} represents categorical predictors, f_j(.) are smooth functions of continuous covariates, E_i denotes fishing effort, and \mu_i is the expected catch.

The offset term adjusts the expected catch for differences in fishing effort, allowing predictions to be standardized to a common unit of effort resulting in standardized predictions on a common unit-effort basis.

Usage

GAMstd(
  data,
  year_col,
  catch_col,
  effort_col,
  fixed_effects,
  smooth_terms,
  k = NULL,
  log_transform = TRUE
)

Arguments

data

A data frame containing the columns of year, catch, effort, fixed effects and smooth terms. See the example dataset GAMstd_dataset.

year_col

Specify the year column name (eg. "Year").

catch_col

Specify the catch column name (eg. "Catch").

effort_col

Specify the effort column name (eg. "Effort").

fixed_effects

Specify the column names of the fixed effects in vector format (eg. c("Year","Gear")).

smooth_terms

Specify the column names of smooth terms in vector format (eg. c("SST","Depth")).

k

Integer value for smooth terms. If NULL, an appropriate value is selected automatically.

log_transform

Specify TRUE or FALSE. By default set TRUE. It ensures CPUE values will be shown after required log transformation of data.

Value

The output includes AIC and SBC/BIC values, a summary table containing Year, Total Catch, Nominal CPUE, and Standardized CPUE. In addition, two plots are produced: Nominal CPUE versus Total Catch and Standardized CPUE versus Total Catch.

Note

If catch column value of has zero value(s) then they will be replaced by minimum value of the catch column and further if effort column has zero values then the corresponding rows will be removed for doing the CPUE calculation.

References

Hastie, T., & Tibshirani, R. (1986). Generalized additive models. Statistical science, 1(3), 297-310.

Maunder, M.N., and Punt, A.E. (2004). Standardizing catch and effort data: a review of recent approaches. Fisheries Research, 70, 141-159.

Acknowledgements: The authors sincerely thank the Director, ICAR–Central Marine Fisheries Research Institute (ICAR-CMFRI), Kochi, for providing the necessary facilities and institutional support. The authors also gratefully acknowledge the support provided by the Indian Council of Agricultural Research (ICAR), Department of Agricultural Research and Education (DARE), Government of India, through the ICAR-National Fellow Project.

Examples

## Not run: 
library(FESta)
data("GAMstd_dataset")
result<-GAMstd(data=GAMstd_dataset,year_col='Year',catch_col='Catch',
effort_col='Effort',fixed_effects = c("Year", "Gear"),
smooth_terms = c("SST", "Depth"), k=10,log_transform = TRUE)
print(result)

## End(Not run)

GAMstd_dataset

Description

A simulated fisheries dataset for demonstrating Generalized Additive Model (GAM) standardization of Catch Per Unit Effort (CPUE).

Usage

GAMstd_dataset

Format

A data frame with 4200 observations and 6 variables:

Year

Fishing year.

Gear

Fishing gear used during the fishing operation.

SST

Sea surface temperature (°C).

Depth

Fishing depth (m).

Effort

Fishing effort expended during the fishing operation.

Catch

Observed catch. Catch values were simulated so that the resulting CPUE values are generally greater than one, producing positive log-transformed CPUE values.

Details

The dataset contains fishing catch and effort observations collected over multiple years together with environmental covariates. The catch values were generated to produce positive log-transformed CPUE values, making the dataset particularly suitable for illustrating the log_transform = TRUE option in GAMstd().

The dataset includes temporal, operational, and environmental variables commonly used in fisheries standardization studies. Fishing year and gear type can be treated as fixed effects, while sea surface temperature and fishing depth can be incorporated as smooth terms in the GAM.

See Also

GAMstd

Examples

## Not run: 
library(FESta)
data("GAMstd_dataset")
result<-GAMstd(data=GAMstd_dataset,year_col='Year',catch_col='Catch',
effort_col='Effort',fixed_effects = c("Year", "Gear"),
smooth_terms = c("SST", "Depth"), k=10,log_transform = TRUE)
print(result)

## End(Not run)


Generalized Linear Mixed Model Based Standardization (GLMMstd)

Description

Fisheries catch and effort data frequently exhibit dependency structures arising from repeated observations of vessels, trips, areas, observers, or other sampling units. Generalized Linear Mixed Models (GLMMs) accommodate these dependencies by incorporating random effects in addition to fixed explanatory variables.

In this implementation, CPUE is calculated as:

CPUE_i=\frac{Catch_i}{Effort_i}

and transformed using a logarithmic transformation:

log(CPUE_i)

The model fitted is:

g(\mu_i) = X_i\beta + Z_i u

where g is the log link, \mu_i = E(CPUE_i), and CPUE follows a Gamma distribution.

Fixed effects typically include factors such as year, gear, season, or fishing area, while random effects may represent vessels, trips, observers, ports, or other grouping variables.

Standardized CPUE indices are obtained by predicting CPUE for each level of the selected index variable while averaging over random-effect variation.

Usage

GLMMstd(
  data,
  year_col,
  catch_col,
  effort_col,
  fixed_effects,
  random_effects,
  log_transform = TRUE
)

Arguments

data

A data frame containing the columns of year, catch, effort, fixed effects and random effects. See the example dataset GLMMstd_dataset.

year_col

Specify the year column name (eg. "Year").

catch_col

Specify the catch column name (eg. "Catch").

effort_col

Specify the effort column name (eg. "Effort").

fixed_effects

Specify the column names of the fixed effects in vector format (eg. c("Year","Gear")).

random_effects

Specify the column names of the random effects in vector format (eg. c("Vessel","Area")). Should not contain any fixed effect column name.

log_transform

Specify TRUE or FALSE. By default set TRUE. It ensures CPUE values will be shown after required log transformation of data.

Value

The output includes AIC and SBC/BIC values, a summary table containing Year, Total Catch, Nominal CPUE, and Standardized CPUE. In addition, two plots are produced: Nominal CPUE versus Total Catch and Standardized CPUE versus Total Catch.

Note

If catch column value of has zero value(s) then they will be replaced by minimum value of the catch column and further if effort column has zero values then the corresponding rows will be removed for doing the CPUE calculation.

References

Pinheiro, J.C., and Bates, D.M. (2000). Mixed-Effects Models in S and S-PLUS. Springer-Verlag, New York.

Maunder, M.N., and Punt, A.E. (2004). Standardizing catch and effort data: a review of recent approaches. Fisheries Research, 70, 141-159.

Acknowledgements: The authors sincerely thank the Director, ICAR–Central Marine Fisheries Research Institute (ICAR-CMFRI), Kochi, for providing the necessary facilities and institutional support. The authors also gratefully acknowledge the support provided by the Indian Council of Agricultural Research (ICAR), Department of Agricultural Research and Education (DARE), Government of India, through the ICAR-National Fellow Project.

Examples

## Not run: 
library(FESta)
data('GLMMstd_dataset')
result<-GLMMstd(
  data=GLMMstd_dataset,
  year_col="Year",
  catch_col = "Catch",
  effort_col = "Effort",
  fixed_effects = c("Year"),
  random_effects = c("Vessel"),
  log_transform = TRUE
)
print(result)

## End(Not run)


GLMMstd_dataset

Description

A fisheries dataset for demonstrating the Generalized Linear Mixed Model (GLMM) based Catch Per Unit Effort (CPUE) standardization method.

Usage

GLMMstd_dataset

Format

A data frame with 1000 observations and 5 variables:

Year

Fishing year.

Gear

Fishing gear used during the fishing operation.

Vessel

Unique vessel identifier representing the fishing vessel.

Effort

Fishing effort expended during the operation.

Catch

Observed catch obtained during the fishing operation.

Details

The dataset contains catch and effort observations collected over multiple years using different fishing gears and vessels. Vessel information is included to model vessel-specific random effects, while year and gear are treated as fixed effects in the CPUE standardization process.

See Also

GLMMstd

Examples

## Not run: 
library(FESta)
data('GLMMstd_dataset')
result<-GLMMstd(
  data=GLMMstd_dataset,
  year_col="Year",
  catch_col = "Catch",
  effort_col = "Effort",
  fixed_effects = c("Year"),
  random_effects = c("Vessel"),
  log_transform = TRUE
)
print(result)

## End(Not run)


Generalized Linear Model Based Standardization (GLMstd)

Description

The GLMstd() function performs catch per unit effort (CPUE) standardization using generalized linear models (GLMs). The function allows the user to fit one or multiple probability distributions to the catch data while incorporating fishing effort as an offset term.

Several commonly used distributions in fisheries standardization are supported, including Gamma, Tweedie, Gaussian, Lognormal, Poisson, and Negative Binomial distributions. The function estimates standardized CPUE indices by accounting for the effects of year and other explanatory variables specified as fixed effects.

Usage

GLMstd(
  data,
  year_col,
  catch_col,
  effort_col,
  fixed_effects,
  family_type,
  link_function = NULL,
  maxit = 100
)

Arguments

data

A data frame containing the columns of year, catch, effort, and fixed effects. See the example dataset GLMstd_dataset.

year_col

Specify the year column name (eg. "Year").

catch_col

Specify the catch column name (eg. "Catch").

effort_col

Specify the effort column name (eg. "Effort").

fixed_effects

Specify the column names of the fixed effects in vector format (eg. c("Year","Gear")).

family_type

Select one or more distributions from the list: "gamma", "tweedie", "gaussian", "lognormal", "poisson", "nbinom".

link_function

Select any of the given link functions: "log", "identity", "inverse", "logit", "probit", "cloglog". If NULL then by default it will take "log".

maxit

Maximum number of iterations. Default 100.

Value

When a single distribution is selected, the function returns a summary table containing Year, Total Catch, Nominal CPUE, and Standardized CPUE, together with plots of Nominal and Standardized CPUE versus Total Catch.

When multiple distributions are selected, the function provides a comparative summary table and corresponding graphical displays for all selected distributions.

For each of the cases AIC and SBC/BIC values will be provided.

Note

If catch column value of has zero value(s) then they will be replaced by minimum value of the catch column (in gamma and lognormal case) and further if effort column has zero values then the corresponding rows will be removed for doing the CPUE calculation.

References

Varghese, E., Jayasankar, J., Sathianandan, T.V., Kuriakose, S., Mini, K.G., Gills, R., Muktha, M., Sreepriya, V. and Gopalakrishnan, A. (2023). A note on different methods for standardization of fishing efforts. Marine Fisheries Information Service, Technical and Extension Series, (257), 7-17.

Maunder, M.N. and Punt, A.E. (2004). Standardizing catch and effort data: a review of recent approaches. Fisheries Research, 70, 141-159.

Nelder, J.A. and Wedderburn, R.W.M. (1972). Generalised linear models. J. R. Statist. Soc. A 137, 370-384.

Acknowledgements: The authors sincerely thank the Director, ICAR–Central Marine Fisheries Research Institute (ICAR-CMFRI), Kochi, for providing the necessary facilities and institutional support. The authors also gratefully acknowledge the support provided by the Indian Council of Agricultural Research (ICAR), Department of Agricultural Research and Education (DARE), Government of India, through the ICAR-National Fellow Project.

Examples

## Not run: 
library(FESta)
data('GLMstd_dataset')
# Single family
result1 <- GLMstd(
  data          = GLMstd_dataset,
  year_col="Year",
  catch_col     = "Catch",
  effort_col    = "Effort",
  fixed_effects = c("Year", "Gear"),
  family_type   = "gamma"
)
print(result1)

# Multiple families - comparison table + tiled plots
library(FESta)
data('GLMstd_dataset')
result2 <- GLMstd(
  data          = GLMstd_dataset,
  year_col      = "Year",
  catch_col     = "Catch",
  effort_col    = "Effort",
  fixed_effects = c("Year", "Gear"),
  family_type   = c("gamma", "lognormal", "tweedie", "poisson", "nbinom","gaussian")
)
print(result2)

## End(Not run)

GLMstd_dataset

Description

A fisheries dataset for demonstrating Generalized Linear Model (GLM) standardization method.

Usage

GLMstd_dataset

Format

A data frame with 1000 observations and 4 variables:

Year

Fishing year.

Gear

Fishing gear used during the fishing operation.

Effort

Fishing effort expended during the operation.

Catch

Observed catch obtained during the fishing operation.

Details

The dataset contains catch and effort observations collected over multiple years using different fishing gears. It is intended for illustrating the application of the GLMstd() function in the FESta package.

See Also

GLMstd

Examples

## Not run: 
library(FESta)
data('GLMstd_dataset')
# Single family
result1 <- GLMstd(
  data          = GLMstd_dataset,
  year_col="Year",
  catch_col     = "Catch",
  effort_col    = "Effort",
  fixed_effects = c("Year", "Gear"),
  family_type   = "gamma"
)
print(result1)

# Multiple families - comparison table + tiled plots
library(FESta)
data('GLMstd_dataset')
result2 <- GLMstd(
  data          = GLMstd_dataset,
  year_col      = "Year",
  catch_col     = "Catch",
  effort_col    = "Effort",
  fixed_effects = c("Year", "Gear"),
  family_type   = c("gamma", "lognormal", "tweedie", "poisson", "nbinom","gaussian")
)
print(result2)

## End(Not run)

Multi-Gear Mean Standardization (MGMSstd)

Description

The Multigear Mean Standardization (MGMS) method was proposed by Gibson-Reinemer et al. (2017) to combine CPUE data collected using different sampling gears into a common relative scale suitable for community analyses. Initially, CPUE values are expressed as relative abundance:

RA_{ij}= \frac{c_{ij}/e} {TC_j/e}

where

To preserve both within-sample and among-sample abundance patterns, the total CPUE of each sample is standardized by the mean total CPUE across all samples:

MSC_{ij} = \frac{c_{ij}/e}{TC_j/e} \times \frac{TC_j/e}{\overline{TC}/e}

which simplifies to

MSC_{ij} = \frac{c_{ij}/e} {\overline{TC}/e}

where

\overline{TC}/e

is the mean total catch per unit effort.

Usage

MGMSstd(data, year_col, gear_col, species_col, cpue_col)

Arguments

data

A data frame containing year, gear, species, and CPUE columns.

year_col

Specify the year column name (eg. "Year").

gear_col

Specify the gear types column name (eg. "Gears").

species_col

Specify the species column name (eg. "Species").

cpue_col

Specify the CPUE column name (eg. "CPUE_value").

Value

The function produces:

Note

CPUE should not contain zero values, if still zero values are present then all are replaced with minimum CPUE value.

References

Gibson-Reinemer, D. K., Ickes, B. S., & Chick, J. H. (2017). Development and assessment of a new method for combining catch per unit effort data from different fish sampling gears: multigear mean standardization (MGMS). Canadian Journal of Fisheries and Aquatic Sciences, 74(1), 8–14. https://doi.org/10.1139/cjfas-2016-0003

Varghese, E., Jayasankar, J., Sathianandan, T.V., Kuriakose, S., Mini, K.G., Gills, R., Muktha, M., Sreepriya, V. and Gopalakrishnan, A. (2023). A note on different methods for standardization of fishing efforts. Marine Fisheries Information Service, Technical and Extension Series, (257), 7-17.

Acknowledgements: The authors sincerely thank the Director, ICAR–Central Marine Fisheries Research Institute (ICAR-CMFRI), Kochi, for providing the necessary facilities and institutional support. The authors also gratefully acknowledge the support provided by the Indian Council of Agricultural Research (ICAR), Department of Agricultural Research and Education (DARE), Government of India, through the ICAR-National Fellow Project.

Examples

## Not run: 
library(FESta)
data("MGMSstd_dataset")

result <- MGMSstd(
  data = MGMSstd_dataset,
  year_col = "Year",
  gear_col = "Gear",
  species_col = "Species",
  cpue_col = "CPUE"
)
print(result)

## End(Not run)


MGMSstd_dataset

Description

A simulated multi-gear, multi-species fisheries dataset for illustrating the application of the MGMSstd() function for multigear mean standardization of Catch Per Unit Effort (CPUE).

Usage

MGMSstd_dataset

Format

A data frame with 375 observations and 4 variables:

Year

Fishing year.

Gear

Fishing gear used for harvesting the species.

Species

Fish species for which CPUE observations are available.

CPUE

Catch per unit effort corresponding to a particular species, gear, and year combination.

Details

The dataset contains annual CPUE observations for several fish species captured by different fishing gears over multiple years. It is intended for demonstrating the estimation of nominal and standardized CPUE indices in complex multispecies and multigear fisheries.

The dataset represents a hypothetical multigear fishery in which several fishing gears exploit multiple fish species simultaneously. Each row corresponds to the CPUE value for a specific species captured by a particular fishing gear during a given year.

The dataset can be used to demonstrate:

Source

Simulated dataset generated for illustrating the MGMSstd() methodology implemented in the FESta package.

Examples

## Not run: 
library(FESta)
data("MGMSstd_dataset")
result <- MGMSstd(
  data = MGMSstd_dataset,
  year_col = "Year",
  gear_col = "Gear",
  species_col = "Species",
  cpue_col = "CPUE"
)

## End(Not run)

Ordered Quantile Transformation GLM Based Standardization (ORQGLMstd)

Description

Fisheries catch and CPUE data are often highly skewed, heavy-tailed, or non-normal, which can violate the assumptions of conventional Gaussian models. The Ordered Quantile (ORQ) transformation addresses this by mapping observed CPUE values to an approximately standard normal distribution while preserving rank order.

After transformation, a Gaussian GLM is fitted using the specified explanatory variables. Standardized predictions are generated for each level of the index variable and back-transformed to the original CPUE scale using the inverse ORQ transformation.

Usage

ORQGLMstd(data, year_col, catch_col, effort_col, fixed_effects, maxit = 100)

Arguments

data

A data frame containing the columns of year, catch, effort and fixed effects. See the example dataset ORQGLMstd_dataset.

year_col

Specify the year column name (eg. "Year").

catch_col

Specify the catch column name (eg. "Catch").

effort_col

Specify the effort column name (eg. "Effort").

fixed_effects

Specify the column names of the fixed effects in vector format (eg. c("Year","Gear")).

maxit

Maximum number of iterations allowed during GLM fitting. Default 100.

Value

The output includes AIC and SBC/BIC values, a summary table containing Year, Total Catch, Nominal CPUE, and Standardized CPUE. In addition, two plots are produced: Nominal CPUE versus Total Catch and Standardized CPUE versus Total Catch.

Note

if effort column has zero values then the corresponding rows will be removed for doing the CPUE calculation.

References

Peterson, R.A. (2021). Finding Optimal Normalizing Transformations via bestNormalize. The R Journal, 13(1), 310-329.

Maunder, M.N., and Punt, A.E. (2004). Standardizing catch and effort data: a review of recent approaches. Fisheries Research, 70, 141-159.

Acknowledgements: The authors sincerely thank the Director, ICAR–Central Marine Fisheries Research Institute (ICAR-CMFRI), Kochi, for providing the necessary facilities and institutional support. The authors also gratefully acknowledge the support provided by the Indian Council of Agricultural Research (ICAR), Department of Agricultural Research and Education (DARE), Government of India, through the ICAR-National Fellow Project.

Examples

## Not run: 
library(FESta)
data("ORQGLMstd_dataset")
result<-ORQGLMstd(
  data  = ORQGLMstd_dataset,
  year_col="Year",
  catch_col      = "Catch",
  effort_col     = "Effort",
  fixed_effects  = c("Year", "Gear"),
  maxit          = 100
)
print(result)

## End(Not run)

ORQGLMstd_dataset

Description

A fisheries dataset for demonstrating Generalized Linear Model (GLM) standardization method.

Usage

ORQGLMstd_dataset

Format

A data frame with 1000 observations and 4 variables:

Year

Fishing year.

Gear

Fishing gear used during the fishing operation.

Effort

Fishing effort expended during the operation.

Catch

Observed catch obtained during the fishing operation.

Details

The dataset contains catch and effort observations collected over multiple years using different fishing gears. It is intended for illustrating the application of the GLMstd() function in the FESta package.

See Also

ORQGLMstd

Examples

## Not run: 
library(FESta)
data("ORQGLMstd_dataset")
result<-ORQGLMstd(
  data  = ORQGLMstd_dataset,
  year_col="Year",
  catch_col      = "Catch",
  effort_col     = "Effort",
  fixed_effects  = c("Year", "Gear"),
  maxit          = 100
)
print(result)

## End(Not run)

Relative Effort Based Standardization (REstd)

Description

Standardizes fishing effort by adjusting for differences in fishing power among vessel types relative to a selected standard vessel. The method estimates the relative fishing power of each vessel type from observed CPUE values and converts raw fishing effort into a common-efficiency effort scale.

Relative fishing power is calculated as:

PA(i)=\frac{CPUE(i)} {CPUE(standard)}

where CPUE(i) is the catch-per-unit-effort of vessel type i and CPUE(standard) is the CPUE of the selected standard vessel.

Standardized effort is then computed as:

E_{std} = \sum_i \left[ PA(i)\times N(i)\times d(i) \right]

where N(i) is the number of boats and d(i) is the average number of fishing days for vessel type i.

Usage

REstd(
  data,
  year_col,
  vessel_col,
  boats_col,
  days_col,
  cpue_col,
  standard_vessel
)

Arguments

data

A data frame containing the columns of year, vessel information, number of boats, days of fishing and CPUE. See the example dataset REstd_dataset.

year_col

Specify the year column name (eg. "Year").

vessel_col

Specify the vessel types column name (eg. "Vessel_Type").

boats_col

Specify the number of boats column name (eg. "Number_of_Boats").

days_col

Specify the number of fishing days column name (eg. "Avg_Fishing_Days").

cpue_col

Specify the CPUE column name (eg. "CPUE").

standard_vessel

Specifying the reference vessel based on which relative fishing power will be calculated. If NULL, the function automatically selects a standard vessel from the available data.

Value

A data frame containing year-wise standardized effort (used as standardized CPUE index) along with a printed summary table and a dual-axis trend plot showing standardized CPUE and mean relative fishing power by year.

Note

CPUE should not contain zero values, if still zero values are present then all are replaced with minimum CPUE value.

References

Varghese, E., Jayasankar, J., Sathianandan, T.V., Kuriakose, S., Mini, K.G., Gills, R., Muktha, M., Sreepriya, V. and Gopalakrishnan, A. (2023). A note on different methods for standardization of fishing efforts. Marine Fisheries Information Service, Technical and Extension Series, (257), 7-17.

Robson, D.S. (1966). Estimation of the relative fishing power of individual ships. ICNAF Research Bulletin, 3, 5-14.

Sparre, P., and Venema, S.C. (1992). Introduction to Tropical Fish Stock Assessment. FAO Fisheries Technical Paper No. 306/1, 376 pp.

Acknowledgements: The authors sincerely thank the Director, ICAR–Central Marine Fisheries Research Institute (ICAR-CMFRI), Kochi, for providing the necessary facilities and institutional support. The authors also gratefully acknowledge the support provided by the Indian Council of Agricultural Research (ICAR), Department of Agricultural Research and Education (DARE), Government of India, through the ICAR-National Fellow Project.

Examples

## Not run: 
library(FESta)
data("REstd_dataset")
result<-REstd(data = REstd_dataset, year_col = "Year", vessel_col = "Vessel",
      boats_col = "Boats", days_col = "Days",
      cpue_col = "CPUE", standard_vessel = 'A')
      print(result)

## End(Not run)

REstd_dataset

Description

A fisheries dataset for demonstrating the Relative Effort standardization method.

Usage

REstd_dataset

Format

A data frame with 30 observations and 5 variables:

Year

Fishing year.

Vessel

Vessel type used during the fishing operation.

Boats

Number of boats used for fishing.

Days

Average number of fishing days.

CPUE

Catch per unit effort corresponding to each vessel type.

Details

The dataset contains catch per unit effort (CPUE), number of fishing boats, and average fishing days for different vessel types operating over multiple years. A standard vessel is used to estimate relative fishing power and compute standardized fishing effort for year-wise CPUE standardization.

The dataset consists of observations from three vessel types (A, B, and C) collected over ten years (2016–2025). Vessel A serves as the standard vessel for estimating relative fishing power. The dataset is intended for illustrating the computation of relative fishing power, standardized fishing effort, and year-wise standardized CPUE using the REstd() function.

See Also

REstd

Examples

## Not run: 
library(FESta)
data("REstd_dataset")
result<-REstd(data = REstd_dataset, year_col = "Year", vessel_col = "Vessel",
      boats_col = "Boats", days_col = "Days",
      cpue_col = "CPUE", standard_vessel = 'A')
      print(result)

## End(Not run)


Standard Vessel Based Standardization (SVstd)

Description

This method selects a reference (standard) vessel and estimates the relative fishing power of all other vessels based on periods when both the standard and comparison vessels operated simultaneously.

The relative fishing power (RFP) for vessel i is calculated as:

RFP_i = \frac{C_i/E_i}{C_s/E_s}

where C_i and E_i are the total catch and effort of vessel i, respectively, and C_s and E_s are the corresponding catch and effort values for the selected standard vessel during the same period.

The standardized annual CPUE index for year t is then computed as:

I_t = \frac{\sum_i C_{t,i}} {\sum_i RFP_i E_{t,i}}

where C_{t,i} is the catch and E_{t,i} is the effort of vessel i in year t.

Usage

SVstd(
  data,
  year_col,
  vessel_col,
  catch_col,
  effort_col,
  standard_vessel = NULL
)

Arguments

data

A data frame containing the columns of year, vessel, catch and effort. See the example dataset SVstd_dataset.

year_col

Specify the year column name (eg. "Year").

vessel_col

Specify the vessel types column name (eg. "Vessel_Type").

catch_col

Specify the catch column name (eg. "Catch").

effort_col

Specify the effort column name (eg. "Effort").

standard_vessel

Specify the reference (standard) vessel name (eg. "Vessel1") used to estimate relative fishing power. If NULL, the function automatically selects a standard vessel based on the available data.

Value

The output includes a summary table containing Year, Total Catch, Nominal CPUE, and Standardized CPUE. In addition, two plots are produced: Nominal CPUE versus Total Catch and Standardized CPUE versus Total Catch.

Note

If catch column value of has zero value(s) then they will be replaced by minimum value of the catch column and further if effort column has zero values then the corresponding rows will be removed for doing the CPUE calculation.

References

Beverton, R.J.H., and Holt, S.J. (1957). On the Dynamics of Exploited Fish Populations. Fishery Investigations Series II, Volume XIX.

Varghese, E., Jayasankar, J., Sathianandan, T.V., Kuriakose, S., Mini, K.G., Gills, R., Muktha, M., Sreepriya, V. and Gopalakrishnan, A. (2023). A note on different methods for standardization of fishing efforts. Marine Fisheries Information Service, Technical and Extension Series, (257), 7-17.

Maunder, M.N., and Punt, A.E. (2004). Standardizing catch and effort data: a review of recent approaches. Fisheries Research, 70, 141-159.

Acknowledgements: The authors sincerely thank the Director, ICAR–Central Marine Fisheries Research Institute (ICAR-CMFRI), Kochi, for providing the necessary facilities and institutional support. The authors also gratefully acknowledge the support provided by the Indian Council of Agricultural Research (ICAR), Department of Agricultural Research and Education (DARE), Government of India, through the ICAR-National Fellow Project.

Examples

## Not run: 
library(FESta)
data("SVstd_dataset")
result<-SVstd(data=SVstd_dataset,year_col ="Year",  vessel_col = "Vessel",
catch_col = "Catch",effort_col = "Effort",standard_vessel = "V006")
print(result)

## End(Not run)

SVstd_dataset

Description

A simulated fisheries dataset for demonstrating standard vessel CPUE standardization methods.

Usage

SVstd_dataset

Format

A data frame with 1000 observations and 4 variables:

Year

Fishing year.

Vessel

Fishing vessel identifier.

Effort

Fishing effort expended during the fishing operation.

Catch

Observed catch associated with the fishing effort.

Details

The dataset contains annual fishing observations for multiple vessels, together with fishing effort and catch information. It is intended for illustrating the application of the SVstd() function in the FESta package.

Catch values were generated so that the resulting catch per unit effort values remain moderate, producing standardized CPUE indices close to unity under the standard vessel approach.

The dataset was generated to demonstrate standard vessel standardization procedures. The catch values were adjusted so that the resulting standardized CPUE values remain close to one, facilitating interpretation of abundance indices produced by SVstd().

See Also

SVstd

Examples

## Not run: 
library(FESta)
data("SVstd_dataset")
result<-SVstd(data=SVstd_dataset,year_col ="Year",  vessel_col = "Vessel",
catch_col = "Catch",effort_col = "Effort",standard_vessel = "V006")
print(result)

## End(Not run)


Standardization of Fishing Effort (StdEffort)

Description

This package provides a function named StdEffort for standardisation of fishing effort expended by various fishing gears in order to obtain the Catch Per Unit Effort (CPUE) for a particular fish species using the time series of total catch (landings) by each fishing gear, catch (landings) of a particular species (for which the CPUE is required) by each gear, and total effort expended by each gear. See the example dataset StdEffort_dataset.

Usage

StdEffort(sp_catch, tot_catch, effort, meg)

Arguments

sp_catch

Time series of catch/landings of a particular species (for which the CPUE is required) by each gear. First column should be year.

tot_catch

Time series of total catch/landings by each fishing gear. First column should be year.

effort

Time series of total effort expended by each gear. First column should be year.

meg

Choose most efficient gear by providing the corresponding gear name (String value). (for most efficient gear as standard unit).

Details

A method for estimating species-specific fishing effort in multi-gear fisheries where fishing gears differ in efficiency and catch composition. The procedure allocates fishing effort to the target species using catch proportions and gear-specific weighting factors, and expresses effort in terms of a common standard gear unit. The standardized effort is then used to compute a CPUE index suitable for stock assessment, abundance monitoring, and fisheries management analyses.

Marine fisheries governance and management practices are very essential to ensure the sustainability of marine resources. A widely accepted resource management strategy towards this is to derive sustainable fish harvest levels based on the status of marine fish stock. Various fish stock assessment models that describe the biomass dynamics using time series data on fish catch and fishing effort are generally used for this purpose.

In the scenario of a complex multi-species marine fishery in which different species are caught by a number of fishing gears, and each gear harvests a number of species, it is difficult to obtain the fishing effort corresponding to each fish species. Since the capacity of the gears varies, the effort made to catch a resource cannot be considered as the sum of efforts expended by different fishing gears. This necessitates standardisation of fishing effort on a unit basis.

This function standardises fishing effort expended by various gears and obtains Catch Per Unit Effort (CPUE) for a particular fish species using time series data of total catch by each fishing gear, catch of a particular species, and total effort expended by each gear.

Value

The output includes a summary table containing Year, Total Catch, Nominal CPUE, and Standardized CPUE. In addition, two plots are produced: Nominal CPUE versus Total Catch and Standardized CPUE versus Total Catch.

Note

The standardised effort can be obtained by user chosen gear (for example, OBGN in hours) for that species.

References

Eldho Varghese, T. V. Sathianandan, J. Jayasankar, Somy Kuriakose, K. G. Mini and M. Muktha (2020). Bayesian State-space Implementation of Schaefer Production Model for Assessment of Stock Status for Multi-gear Fishery, Journal of the Indian Society of Agricultural Statistics, 74(1), 35–42.

Acknowledgements: The authors sincerely thank the Director, ICAR–Central Marine Fisheries Research Institute (ICAR-CMFRI), Kochi, for providing the necessary facilities and institutional support. The authors also gratefully acknowledge the support provided by the Indian Council of Agricultural Research (ICAR), Department of Agricultural Research and Education (DARE), Government of India, through the ICAR-National Fellow Project.

Examples

## Not run: 
library(FESta)
data("StdEffort_dataset")
result<-StdEffort(
  sp_catch  = StdEffort_dataset$sp_catch,
  tot_catch = StdEffort_dataset$tot_catch,
  effort    = StdEffort_dataset$effort,
  meg       = 'OBGN'
)
print(result)

## End(Not run)


StdEffort_dataset

Description

A list named "StdEffort_dataset" which contains three data frames has been given. The three data frames named "sp_catch", "tot_catch" and "effort" with each having the same dimension contains time series data (1997-2018) on species catch, total catch and fishing effort of 8 different fishing gears viz., mechanized trawlnet including multiday trawlnet(MTN), mechanized gillnet (MGN), non-mechanized gears (NM), outboard gillnet (OBGN), outboard ringseine (OBRS), outboard trawlnet (OBTN), some minor mechanized gears (MOTHERS)and some minor outboard gears (OBOTHS).

Usage

StdEffort_dataset

Format

A data frame with 22 rows and 9 variables:

species catch

Quantity, in tonnes (yearwise data).

total catch

Quantity, in tonnes (yearwise data).

effort

Actual Fishing Hours, in hours (yearwise data).

Source

https://www.cmfri.org.in/fish-catch-estimates

See Also

StdEffort

Examples

## Not run: 
library(FESta)
data("StdEffort_dataset")
result<-StdEffort(
  sp_catch  = StdEffort_dataset$sp_catch,
  tot_catch = StdEffort_dataset$tot_catch,
  effort    = StdEffort_dataset$effort,
  meg       = 'OBGN'
)
print(result)

## End(Not run)