Title: | Estimate Natural Mortality for Different Life Stages |
---|---|
Description: | Estimate natural mortality (M) throughout the life history for organisms, mainly fish and invertebrates, based on gnomonic interval approach proposed by Caddy (1996) <doi:10.1051/alr:1996023> and Martinez-Aguilar et al. (2005) <doi:10.1016/j.fishres.2004.04.008>. It includes estimation of duration of each gnomonic interval (life stage), the constant probability of death (G), and some basic plots. |
Authors: | Josymar Torrejon-Magallanes [cre, aut] |
Maintainer: | Josymar Torrejon-Magallanes <[email protected]> |
License: | GPL-2 |
Version: | 1.0.1 |
Built: | 2024-11-09 03:22:16 UTC |
Source: | https://github.com/ejosymart/gnomonicm |
Estimate natural mortality (M) throughout the life history for organisms, mainly fish and invertebrates, based on gnomonic interval approach. It includes estimation of duration of each gnomonic interval (life stage) and the constant probability of death (G).
Package: gnomonicM
Type: Package
The natural mortality (M) estimation throughout different life stages is based on the gnomonic approach (Caddy, 1991, 1996), including new features in this package-version.
In the gnomonic model, the estimation of for each gnomonic interval
requires -at least- information about:
(i) the number of development stages throughout the life cycle
.
(ii) the duration of the first life stage corresponding to first gnomonic interval (
, egg stage),
(iii) the mean lifetime fecundity
, and
(iv) the longevity of the species. As additional information, the duration of the other developments stages or gnomonic intervals (larval, juvenile, adults) could be provided.
According to Caddy (1996) and Martinez-Aguilar (2005), the gnomonic method is supported by a negative exponential function, where the independent variable is
representing the number of gnomonic intervals from
, the equation is expressed as follows:
where:
is the average value for natural mortality rate, that integrates the declining death rate through the short time interval duration
. The
is the survivors from previous interval, only for the first interval (
) is assumed that the numbers of hatching eggs (initial population) is equivalent to
the mean lifetime fecundity (
).
The duration of first gnomonic interval is equal to the time elapsed after the moment of hatching
.
The duration of the subsequent gnomonic intervals (
) are estimated following:
where,
: Duration of the gnomonic interval when
.
: Duration of the first gnomonic interval
.
: Proportionality constant.
:
gnomonic interval.
The is estimated as follows:
where is the constant proportion of the overall natural death rate. The
value is calculated so that the number of individuals surviving to the last
gnomonic time-interval is
following the assumption of stable population replacement (Caddy, 1996; Martinez-Aguilar, 2005).
The new equation for
is expressed:
The final solution is to estimate the proportionality constant () parameter by iterative solution via univariate (1-dim.) minimization.
Josymar Torrejon-Magallanes <[email protected]>
Caddy JF (1991). Death rates and time intervals: is there an alternative to the constant natural mortality axiom? Rev Fish Biol Fish 1:109–138. doi:10.1007/BF00157581.
Caddy JF (1996). Modelling natural mortality with age in short-lived invertebrate populations: definition of a strategy of gnomonic time division. Aquat Living Resour 9:197–207. doi:10.1051/alr:1996023.
Martínez-Aguilar S, Arreguín-Sánchez F, Morales-Bojórquez E (2005). Natural mortality and life history stage duration of Pacific sardine (Sardinops caeruleus) based on gnomonic time divisions. Fish Res 71:103–114. doi:10.1016/j.fishres.2004.04.008.
#See examples for functions gnomonic() and gnomonicStochastic().
#See examples for functions gnomonic() and gnomonicStochastic().
Estimate natural mortality based on gnomonic interval approach.
gnomonic( nInterval, eggDuration, addInfo = NULL, longevity, fecundity, a_init = 2 )
gnomonic( nInterval, eggDuration, addInfo = NULL, longevity, fecundity, a_init = 2 )
nInterval |
a numeric value that represents the number of gnomonic intervals. |
eggDuration |
a numeric value with the egg stage (first gnomonic interval) duration in days. |
addInfo |
a numeric vector with additional information related to the observed duration of the other gnomonic intervals different than the first interval (egg stage duration). Write |
longevity |
a numeric value indicating the lifespan of the species in days. |
fecundity |
a numeric value indicating the mean lifetime fecundity (MLF) as the number of eggs produced for a female. |
a_init |
a numeric value indicating the initial parameter related to the proportionality optimized by iterative solution via univariate (1-dim.) minimization. |
Estimate natural mortality (M) based on gnomonic interval approach.
The argument nInterval
is NULL by default. If you have -at least- one observed value for the duration of the other gnomonic intervals
you should provide this as a vector which length must be nInterval - 1, for example addInfo = c(3, NA, NA, NA, NA, NA)
) for a nInterval = 7
.
A list of class 'gnomos'.
a
the proportionality constant.
G
the constant proportion of the overall natural death rate.
results
a dataframe with the duration ("interval_duration_day") and natural mortality ("M_day" and "M_year") for each gnomonic interval.
Caddy JF (1996). Modelling natural mortality with age in short-lived invertebrate populations: definition of a strategy of gnomonic time division. Aquat Living Resour 9:197–207. doi: 10.1051/alr:1996023.
#The values are based on Caddy (1996). model <- gnomonic(nInterval = 7, eggDuration = 2, addInfo = NULL, longevity = 365, fecundity = 200000, a_init = 2) model model$a model$G model$results #Additional information for the duration of the second gnomonic intervals. model <- gnomonic(nInterval = 7, eggDuration = 2, addInfo = c(3, NA, NA, NA, NA, NA), longevity = 365, fecundity = 200000, a_init = 2) model model$a model$G model$results
#The values are based on Caddy (1996). model <- gnomonic(nInterval = 7, eggDuration = 2, addInfo = NULL, longevity = 365, fecundity = 200000, a_init = 2) model model$a model$G model$results #Additional information for the duration of the second gnomonic intervals. model <- gnomonic(nInterval = 7, eggDuration = 2, addInfo = c(3, NA, NA, NA, NA, NA), longevity = 365, fecundity = 200000, a_init = 2) model model$a model$G model$results
Estimate natural mortality based on gnomonic interval approach with different distribution in fecundity.
gnomonicStochastic( nInterval, eggDuration, addInfo = NULL, longevity, fecundity = NULL, sd_fecundity = NULL, min_fecundity = NULL, max_fecundity = NULL, distr = "uniform", a_init = 2, niter = 999, seed = 7388 )
gnomonicStochastic( nInterval, eggDuration, addInfo = NULL, longevity, fecundity = NULL, sd_fecundity = NULL, min_fecundity = NULL, max_fecundity = NULL, distr = "uniform", a_init = 2, niter = 999, seed = 7388 )
nInterval |
a numeric value that represents the number of gnomonic intervals. |
eggDuration |
a numeric value with the egg stage (first gnomonic interval) duration in days. |
addInfo |
a numeric vector with additional information related to the observed duration of the other gnomonic intervals different than the first interval (egg stage duration). Write |
longevity |
a numeric value indicating the lifespan of the species in days. |
fecundity |
a numeric value indicating the mean or the mode of the fecundity as the number of eggs produced for a female if a normal or triangular distribution is assumed, respectively. |
sd_fecundity |
a numeric value indicating the standard deviation of fecundity if a normal distribution is assumed. |
min_fecundity |
a numeric value indicating the minimum range of fecundity if a uniform or triangle distribution is assumed. |
max_fecundity |
a numeric value indicating the maximum range of fecundity if a uniform or triangle distribution is assumed. |
distr |
a character string indicating the distribution to be applied: |
a_init |
a numeric value indicating the initial parameter related to the proportionality constant optimized by iterative solution via univariate (1-dim.) minimization. |
niter |
a single numeric value representing the number of iterations. |
seed |
a single value, interpreted as an integer. |
Estimate natural mortality (M) based on gnomonic interval approach .
The argument nInterval
is NULL by default. If you have -at least- one observed value for the duration of the other gnomonic intervals
you should provide this as a vector which length must be nInterval - 1, for example addInfo = c(3, NA, NA, NA, NA, NA)
) for a nInterval = 7
.
The argument fecundity
requires a character string indicating the name of the distribution of fecundity values to be used in the
analysis (i.e. fecundity = "uniform"
).
The argument niter
requires a number which is related with the number of observations. If length(n) > 1, the length is taken to be the number required.
can be calculated from each bootstrap sample (median and confidence intervals).
A list of class 'gnomosBoot'.
a
the proportionality constant.
G
the 'n' iter values of constant proportion of the overall natural death rate.
mean_G
the mean of constant proportion of the overall natural death rate,
M
a dataframe with the M values for each gnomonic intervals for each 'n' iteration.
fecundity
the 'n' iter values of fecundity based on the distribution assumed.
results
a dataframe with the duration ("interval_duration_day"), mean, confidence interval and standard deviation of natural mortality ("M_lower", "M", "M_upper", "M_sd") for each gnomonic interval.
#The values are based on Caddy (1996). modelBoot <- gnomonicStochastic(nInterval = 7, eggDuration = 2, addInfo = NULL, longevity = 365, distr = "uniform", min_fecundity = 100000, max_fecundity = 300000, niter = 999, a_init = 2) # 'niter' parameters: modelBoot$a modelBoot$G modelBoot$mean_G modelBoot$M modelBoot$fecundity modelBoot$results
#The values are based on Caddy (1996). modelBoot <- gnomonicStochastic(nInterval = 7, eggDuration = 2, addInfo = NULL, longevity = 365, distr = "uniform", min_fecundity = 100000, max_fecundity = 300000, niter = 999, a_init = 2) # 'niter' parameters: modelBoot$a modelBoot$G modelBoot$mean_G modelBoot$M modelBoot$fecundity modelBoot$results
Plot method for gnomos class
## S3 method for class 'gnomos' plot( x, xlab = "Gnomonic intervals", ylab = NULL, bg = "lightgrey", cex = 1.75, pch = 21, dayUnits = TRUE, ... )
## S3 method for class 'gnomos' plot( x, xlab = "Gnomonic intervals", ylab = NULL, bg = "lightgrey", cex = 1.75, pch = 21, dayUnits = TRUE, ... )
x |
an object class 'gnomos'. |
xlab |
a title for the x axis. |
ylab |
a title for the y axis. |
bg |
a background color for the points. |
cex |
character expansion in the regression. |
pch |
the character indicating the type of plotting. |
dayUnits |
TRUE by default, to show the M values in 1/day unit. FALSE to show the M values in 1/year units. |
... |
Additional arguments to the plot method. |
model <- gnomonic(nInterval = 7, eggDuration = 2, addInfo = NULL, longevity = 365, fecundity = 200000, a_init = 2) plot(model)
model <- gnomonic(nInterval = 7, eggDuration = 2, addInfo = NULL, longevity = 365, fecundity = 200000, a_init = 2) plot(model)
Plot method for gnomosBoot class
## S3 method for class 'gnomosBoot' plot( x, xlab = "Gnomonic intervals", ylab = NULL, col = "lightgrey", boxwex = 0.25, dayUnits = TRUE, ... )
## S3 method for class 'gnomosBoot' plot( x, xlab = "Gnomonic intervals", ylab = NULL, col = "lightgrey", boxwex = 0.25, dayUnits = TRUE, ... )
x |
an object class 'gnomosBoot'. |
xlab |
a title for the x axis. |
ylab |
a title for the y axis. |
col |
color for the boxplot of M value for each gnomonic intervals. |
boxwex |
a scale factor to be applied to all boxes in order to make the boxes narrower or wider. |
dayUnits |
TRUE by default, to show the M values in 1/day unit. FALSE to show the M values in 1/year units. |
... |
Additional arguments to the plot method. |
modelBoot <- gnomonicStochastic(nInterval = 7, eggDuration = 2, addInfo = NULL, longevity = 365, distr = "uniform", min_fecundity = 100000, max_fecundity = 300000, niter = 1000, a_init = 2) plot(modelBoot)
modelBoot <- gnomonicStochastic(nInterval = 7, eggDuration = 2, addInfo = NULL, longevity = 365, distr = "uniform", min_fecundity = 100000, max_fecundity = 300000, niter = 1000, a_init = 2) plot(modelBoot)
Print method for gnomos class
## S3 method for class 'gnomos' print(x, ...)
## S3 method for class 'gnomos' print(x, ...)
x |
an object class 'gnomos'. |
... |
Additional arguments to the print method. |
The values of the proportionality constant (a), constant proportion of the overall natural death rate (G) and a data.frame with the duration and natural mortality for each gnomonic interval. #' @examples model <- gnomonic(nInterval = 7, eggDuration = 2, addInfo = NULL, longevity = 365, fecundity = 200000, a_init = 2)
print(model)
Print method for gnomosBoot class
## S3 method for class 'gnomosBoot' print(x, ...)
## S3 method for class 'gnomosBoot' print(x, ...)
x |
an object class 'gnomosBoot'. |
... |
Additional arguments to the print method. |
The values of the proportionality constant (a), constant proportion of the overall natural death rate (G) and a data.frame with the duration and natural mortality for each gnomonic interval.
#The values are based on Caddy (1996). modelBoot <- gnomonicStochastic(nInterval = 7, eggDuration = 2, addInfo = NULL, longevity = 365, distr = "uniform", min_fecundity = 100000, max_fecundity = 300000, niter = 50, a_init = 2) print(modelBoot)
#The values are based on Caddy (1996). modelBoot <- gnomonicStochastic(nInterval = 7, eggDuration = 2, addInfo = NULL, longevity = 365, distr = "uniform", min_fecundity = 100000, max_fecundity = 300000, niter = 50, a_init = 2) print(modelBoot)