| 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
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 |
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
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
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:
|
link_function |
Select any of the given link functions:
"log", "identity", "inverse", "logit", "probit", "cloglog". If |
maxit |
Maximum number of iterations. Default |
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
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
-
c_{ij}is the catch of speciesiin year (or sample)j. -
eis the sampling effort. -
TC_jis the total catch of all species in year (or sample)j.
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:
Gear-specific standardized CPUE tables.
A multiline plot of total standardized CPUE by gear.
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:
Calculation of gear-specific mean CPUE.
Multigear mean standardization.
Estimation of nominal and standardized CPUE indices.
Visualization of temporal CPUE trends.
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 |
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
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
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 |
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
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
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)