This vignette introduces you to
gnomonicM
package and provides a way to estimate
Natural Mortality (M) throughout the life history of
species, mainly fish and invertebrates.
You can install from CRAN:
Or the development version from github:
After that, call the package:
For estimating M we will use the data provided by Caddy (1996) based on two species with: (i) seven gnomonic intervals, (ii) egg stage duration of 2 days, (iii) a longevity of one year (365 days), (iv) a mean lifetime fecundity (MLF) of 200000 (high fecundity, hf) and 135 eggs (low fecundity, lf), and (v) initial constant proportionality (α) value of 2.
model_hf <- gnomonic(nInterval = 7,
eggDuration = 2,
longevity = 365,
fecundity = 200000,
a_init = 2)
## --------------------------------------------------------
##
## No additional information. You are only considering the egg stage duration = 2
##
## --------------------------------------------------------
## --------------------------------------------------------
##
## No additional information. You are only considering the egg stage duration = 2
##
## --------------------------------------------------------
If you have additional information related to the duration of the
other gnomonic intervals, you could provide them via the argument
addInfo
. For example, if we assume that the duration of the
second and fifth gnomonic interval is equal to 4 and 40 days
respectively, we will have to include this information as follows:
modelAddInfo <- gnomonic(nInterval = 7,
eggDuration = 2,
addInfo = c(4, NA, NA, 40, NA, NA),
longevity = 365,
fecundity = 200000,
a_init = 2)
The NA
values in the argument addInfo
must
be written to complete the length of the vector. In this case the length
of the addInfo
vector is equal to nInterval
-
1.
Print the results of the model_hf
or
model_lf
. The output is an object of class
gnomos
. This object contains a list with the constant
proportionality value (α), the
constant proportion of the overall natural death rate (G), a
dataframe with the duration (“interval_duration_day”), and the
natural mortality (“M_day” and “M_year”) for each
gnomonic interval.
For plotting, an object of class gnomos
is required. The
function plot
generates a scatter plot with the values of
M for each gnomonic interval. You can modify the labels via
xlab
, ylab
, the color via bg
and
the sizes of points in the scatter plot, also you can pass arguments to
the plot method.
## Proportionality constant (alpha) = 1.381646
##
## --------------------------------------------------------
##
## Constant proportion of the overall natural death rate (G) = 1.644704
##
## --------------------------------------------------------
##
## Main results of gnomonic method:
##
## Gnomonic_interval interval_duration_day total_duration M_day M_year No_Surv
## 1 1 2.000 2 0.822 300.158 38614
## 2 2 2.763 5 0.595 217.247 7455
## 3 3 6.581 11 0.250 91.217 1439
## 4 4 15.674 27 0.105 38.300 278
## 5 5 37.330 64 0.044 16.081 54
## 6 6 88.907 153 0.018 6.752 10
## 7 7 211.745 365 0.008 2.835 2
## Proportionality constant (alpha) = 1.381646
##
## --------------------------------------------------------
##
## Constant proportion of the overall natural death rate (G) = 0.6017325
##
## --------------------------------------------------------
##
## Main results of gnomonic method:
##
## Gnomonic_interval interval_duration_day total_duration M_day M_year No_Surv
## 1 1 2.000 2 0.301 109.816 74
## 2 2 2.763 5 0.218 79.482 41
## 3 3 6.581 11 0.091 33.373 22
## 4 4 15.674 27 0.038 14.012 12
## 5 5 37.330 64 0.016 5.884 7
## 6 6 88.907 153 0.007 2.470 4
## 7 7 211.745 365 0.003 1.037 2
For comparative purposes, we present the results provided by Caddy (1996). Note: We have multiplied the interval duration by 365 in order to have day units.
Gnomonic_interval | interval_duration_day | M_year | No_Surv |
---|---|---|---|
1 | 2.00 | 300.16 | 38614 |
2 | 2.76 | 217.25 | 7455 |
3 | 6.58 | 91.27 | 1439 |
4 | 15.67 | 38.30 | 278 |
5 | 37.33 | 16.08 | 54 |
6 | 88.91 | 6.75 | 10 |
7 | 211.75 | 2.84 | 2 |
Gnomonic_interval | interval_duration_day | M_year | No_Surv |
---|---|---|---|
1 | 2.00 | 109.82 | 74 |
2 | 2.76 | 79.48 | 41 |
3 | 6.58 | 33.37 | 22 |
4 | 15.67 | 14.01 | 12 |
5 | 37.33 | 5.88 | 7 |
6 | 88.91 | 2.47 | 4 |
7 | 211.75 | 1.04 | 2 |
The function to be used to estimate M is
gnomonicStochastic
. The previous estimation of natural
mortality, which was based on the gnomonic
function, did
not include any measures of deviation. In this method we calculated
these measures assuming that the main source of uncertainty and
variability was the mean lifetime fecundity (MLF).
We have included three different distribution function via the
argument distr
. It could be normal:
distr = 'normal'
, uniform: distr = 'uniform'
,
and triangular: distr = 'triangle'
. Once you have chosen a
particular distribution function, you must to include information
related with the minimum, maximum, mean and standard deviation (sd) of
MLF.
We will use the information reported by the chub mackerel (see Torrejón-Magallanes et al., 2021), based on an (i) eight gnomonic intervals, (ii) egg stage duration of 2.33 days (56 hours), (iii) a longevity of eight years (2920 days), (iv) a mean lifetime fecundity (MLF) of 78174 [11805 - 144543] and 28978 [7603 - 53921] eggs assuming uniform distribution, and (v) initial constant proportionality (α) value of 2. We simulated 1000 estimates of natural mortality for each gnomonic intervals and estimated mean mortality rate ($\bar{M_i}$), the confidence interval, and the standard deviation (σi).
model_cm_hf <- gnomonicStochastic(nInterval = 8,
eggDuration = 2.33,
longevity = 2920,
distr = "uniform",
min_fecundity = 11805,
max_fecundity = 144543,
niter = 1000,
a_init = 2)
## --------------------------------------------------------
##
## No additional information. You are only considering the egg stage duration = 2.33
##
## --------------------------------------------------------
##
## [1] "You are using a 'uniform distribution' for fecundity."
model_cm_lf <- gnomonicStochastic(nInterval = 8,
eggDuration = 2.33,
longevity = 2920,
distr = "uniform",
min_fecundity = 7603,
max_fecundity = 53921,
niter = 1000,
a_init = 2)
## --------------------------------------------------------
##
## No additional information. You are only considering the egg stage duration = 2.33
##
## --------------------------------------------------------
##
## [1] "You are using a 'uniform distribution' for fecundity."
Printing and plotting the result of the stochastic method follow the same idea that deterministic method. In this case when using print it includes the niter values of G and fecundity, and the M values for each gnomonic intervals for each iteration. The plot is based on a boxplot and the arguments could be modified as in the deterministic method.
#The results are not shown here. Please run it in your console.
print(model_cm_hf)
print(model_cm_lf)
In the previous plots, by default, the M values have day−1
units (dayUnits = TRUE
). You can modify it via the argument
dayUnits = FALSE
which will show a plot with the M values
in year−1
units.
In this section, we test different distribution functions in the
MLF via the argument distr
. There are three
options: distr = 'normal'
, distr = 'uniform'
and distr = 'triangle'
. You must include particular
information related to the minimum, maximum, mean, and standard
deviation (sd) of MLF based on the particular distribution
function.
modelUniformAddInfo <- gnomonicStochastic(nInterval = 7,
eggDuration = 2,
addInfo = c(4, NA, NA, 40, NA, NA),
longevity = 365,
distr = "uniform",
min_fecundity = 100000,
max_fecundity = 300000,
niter = 1000,
a_init = 2)
## [1] "You are using a 'uniform distribution' for fecundity."
modelNormal <- gnomonicStochastic(nInterval = 7,
eggDuration = 2,
longevity = 365,
distr = "normal",
fecundity = 200000,
sd_fecundity = 50000,
niter = 1000,
a_init = 2)
## --------------------------------------------------------
##
## No additional information. You are only considering the egg stage duration = 2
##
## --------------------------------------------------------
##
## [1] "You are using a 'normal distribution' for fecundity."
modelTriangle <- gnomonicStochastic(nInterval = 7,
eggDuration = 2,
longevity = 365,
distr = "triangle",
fecundity = 200000,
min_fecundity = 100000,
max_fecundity = 300000,
niter = 1000,
a_init = 2)
## --------------------------------------------------------
##
## No additional information. You are only considering the egg stage duration = 2
##
## --------------------------------------------------------
##
## [1] "You are using a 'triangular distribution' for fecundity."
This section shows the applications to published data that used the gnomonic model (see, Ramírez-Rodríguez & Arreguín-Sánchez (2003); Martínez-Aguilar et al. (2005); Giménez-Hurtado et al. (2009); Martínez-Aguilar et al. (2010); Aranceta-Garza et al. (2016); Romero-Gallardo et al. (2018)). It gave the chance to assess the approach in different taxa (fish, invertebrates) and life-history (demersal, pelagic, benthic, short, and large life span).
Farfantopenaeus <- gnomonic(nInterval = 7,
eggDuration = 1.5,
longevity = 480,
fecundity = 500000,
a_init = 1)
## --------------------------------------------------------
##
## No additional information. You are only considering the egg stage duration = 1.5
##
## --------------------------------------------------------
Vannamei <- gnomonic(nInterval = 7,
eggDuration = 0.54,
longevity = 365,
fecundity = 265000,
a_init = 3)
## --------------------------------------------------------
##
## No additional information. You are only considering the egg stage duration = 0.54
##
## --------------------------------------------------------
Sardinops <- gnomonicStochastic(nInterval = 10,
eggDuration = 2.5,
longevity = 2555,
min_fecundity = 646763,
max_fecundity = 1090678,
niter = 1000,
a_init = 2)
## --------------------------------------------------------
##
## No additional information. You are only considering the egg stage duration = 2.5
##
## --------------------------------------------------------
##
## [1] "You are using a 'uniform distribution' for fecundity."
Epinephelus <- gnomonicStochastic(nInterval = 11,
eggDuration = 2,
longevity = 7300,
min_fecundity = 102000,
max_fecundity = 573500,
niter = 1000,
a_init = 2)
## --------------------------------------------------------
##
## No additional information. You are only considering the egg stage duration = 2
##
## --------------------------------------------------------
##
## [1] "You are using a 'uniform distribution' for fecundity."
Dosidicus <- gnomonicStochastic(nInterval = 5,
eggDuration = 6,
longevity = 438,
min_fecundity = 813000,
max_fecundity = 25887000,
niter = 1000,
a_init = 2)
## --------------------------------------------------------
##
## No additional information. You are only considering the egg stage duration = 6
##
## --------------------------------------------------------
##
## [1] "You are using a 'uniform distribution' for fecundity."
Isostichopus <- gnomonicStochastic(nInterval = 6,
eggDuration = 2,
longevity = 3650,
min_fecundity = 13500,
max_fecundity = 5062490,
niter = 1000,
a_init = 2)
## --------------------------------------------------------
##
## No additional information. You are only considering the egg stage duration = 2
##
## --------------------------------------------------------
##
## [1] "You are using a 'uniform distribution' for fecundity."
Martínez-Aguilar S, Díaz Uribe JG, De Anda-Montañez JA, Cisneros-Mata MA. 2010. Natural mortality and life history stage duration for the jumbo squid (Dosidicus gigas) in the Gulf of California, Mexico, using the gnomonic time division. Ciencia Pesquera 18:31–42.