Skip to content

Commit

Permalink
fixed logo
Browse files Browse the repository at this point in the history
  • Loading branch information
rmk118 committed Nov 26, 2024
1 parent 794b3b9 commit 25ed206
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 33 deletions.
6 changes: 2 additions & 4 deletions README.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ knitr::opts_chunk$set(

# morphmat

<img src="man/figures/logo.png" alt="Hex sticker logo for morphmat package" align="right" height="139", class="pkgdown-hide"/>
<img src="man/figures/logo.png" alt="Hex sticker logo for morphmat package" align="right" height="139" class="pkgdown-hide"/>

<!-- badges: start -->

Expand All @@ -28,11 +28,10 @@ A compilation of methods used to estimate size at (sexual) maturity based on mor

`morphmat` is intended to help fisheries scientists and managers to implement the multitude of computational methods that have been developed for estimating crustacean size at maturity. This package is being developed as part of my graduate work at the University of Maine. **This is still a work in progress and should not yet be used for research purposes.**

`morphmat` will include user-friendly functions for estimating size at morphometric maturity, along with guidelines for choosing the optimal method for a given dataset and correctly interpreting results. Both novel and historically popular (e.g., broken-stick regression) methods will be included, and users will be able to obtain SM50 estimates from nearly a dozen different approaches with a single function call. Crucially, by combining code for the various models within a single package, morphmat will enable the application of multi-model inference to SM50 estimation, avoiding the arbitrary selection of a single “best” model [@katsanevakis2006]. By increasing the accessibility of modern statistical methods for estimating SM50, I hope to facilitate the widespread adoption of improved SM50 modeling procedures.
`morphmat` will include user-friendly functions for estimating size at morphometric maturity, along with guidelines for choosing the optimal method for a given dataset and correctly interpreting results. Both novel and historically popular (e.g., broken-stick regression) methods will be included, and users will be able to obtain SM50 estimates from nearly a dozen different approaches with a single function call. By combining code for the various models within a single package, morphmat will enable the application of multi-model inference to SM50 estimation, avoiding the arbitrary selection of a single “best” model [@katsanevakis2006]. By increasing the accessibility of modern statistical methods for estimating SM50, I hope to facilitate the widespread adoption of improved SM50 modeling procedures.

`morphmat` will include versions of the methods implemented in these existing GitHub repositories:

| | | | |
|---------------|---------------|---------------|---------------------------|
| **Type** | **Authors** | **GitHub repository** | **Description/notes** |
| Package | Josymar Torrejon-Magallanes | [ejosymart/sizeMat](https://github.com/ejosymart/sizeMat) | [sizeMat: An R Package to Estimate Size at Sexual Maturity](https://cran.r-project.org/web/packages/sizeMat/vignettes/sizeMat.html) |
Expand All @@ -45,7 +44,6 @@ A compilation of methods used to estimate size at (sexual) maturity based on mor

The following scripts do not use morphometric data and require individuals to already be classified as mature or immature. They provide various examples of how to fit maturity\~length binomial models to estimate SM50 and obtain confidence intervals. These tools can also be used to calculate size at maturity for non-crustacean fisheries. For a comprehensive examination of this type of model, see [@mainguy2024].

| | | | |
|--------------|--------------|-------------------|--------------------------|
| **Type** | **Authors** | **GitHub repository** | **Description/notes** |
| R scripts | Lucas Rodrigues | [lvcasrodrigues/maturity_at_size](https://github.com/lvcasrodrigues/maturity_at_size) | Does not use morphometric data; takes size classes with known numbers of mature individuals per size class and fits a binomial model (frequentist or Bayesian). Finds SM50 by generating new data from the model rather than from ratio of parameters |
Expand Down
87 changes: 61 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@

# morphmat

\<img src=“man/figures/logo.png” alt=“Hex sticker logo for morphmat
package” align=“right” height=“139”, class=“pkgdown-hide”/\>
<img src="man/figures/logo.png" alt="Hex sticker logo for morphmat package" align="right" height="139" class="pkgdown-hide"/>

<!-- badges: start -->

Expand Down Expand Up @@ -32,28 +31,51 @@ morphometric maturity, along with guidelines for choosing the optimal
method for a given dataset and correctly interpreting results. Both
novel and historically popular (e.g., broken-stick regression) methods
will be included, and users will be able to obtain SM50 estimates from
nearly a dozen different approaches with a single function call.
Crucially, by combining code for the various models within a single
package, morphmat will enable the application of multi-model inference
to SM50 estimation, avoiding the arbitrary selection of a single “best”
model ([Katsanevakis 2006](#ref-katsanevakis2006)). By increasing the
accessibility of modern statistical methods for estimating SM50, I hope
to facilitate the widespread adoption of improved SM50 modeling
procedures.
nearly a dozen different approaches with a single function call. By
combining code for the various models within a single package, morphmat
will enable the application of multi-model inference to SM50 estimation,
avoiding the arbitrary selection of a single “best” model ([Katsanevakis
2006](#ref-katsanevakis2006)). By increasing the accessibility of modern
statistical methods for estimating SM50, I hope to facilitate the
widespread adoption of improved SM50 modeling procedures.

`morphmat` will include versions of the methods implemented in these
existing GitHub repositories:

| | | | |
|----|----|----|----|
| **Type** | **Authors** | **GitHub repository** | **Description/notes** |
| Package | Josymar Torrejon-Magallanes | [ejosymart/sizeMat](https://github.com/ejosymart/sizeMat) | [sizeMat: An R Package to Estimate Size at Sexual Maturity](https://cran.r-project.org/web/packages/sizeMat/vignettes/sizeMat.html) |
| Package | Rodrigo Sant’Ana, Fernando Mayer | [rodrigosantana/Regrans: Fits Segmented Linear Regression Models](https://github.com/rodrigosantana/Regrans) | Older repository: [fernandomayer/Regrans](https://github.com/fernandomayer/Regrans/blob/master/change.point.R) |
| Package | Derek Sonderegger | [siZer](https://cran.r-project.org/web/packages/SiZer/index.html) | [Conduct size at morphometric maturity analysis (SMM) and plot results using the SiZer extension package](https://zenodo.org/records/5002120) by Olson, Andrew P., Siddon, Chris E., and Eckert, Ginny L. |
| Package | Vito M. R. Muggeo | [segmented](https://cran.r-project.org/web/packages/segmented/index.html) | [package reference manual](https://cran.r-project.org/web/packages/segmented/segmented.pdf) |
| Package | Youyi Fong | [chngpt](https://doi.org/10.32614/CRAN.package.chngpt) | [Fitting Threshold Regression Models Using chngpt](https://cran.r-project.org/web/packages/chngpt/vignettes/chngpt-vignette.pdf) (vignette) |
| Package | Tobie Surette | [TobieSurette/gulf.stats](https://github.com/TobieSurette/gulf.stats) | See files [morphometric.maturity.R](https://github.com/TobieSurette/gulf.stats/blob/master/R/morphometric.maturity.R) and [morphometry.R](https://github.com/TobieSurette/gulf.stats/blob/master/R/morphometry.R) |
| R scripts | Bradley Stevens | [Crabman52/Crustacean_Sensation](https://github.com/Crabman52/Crustacean_Sensation) | Include three different methods for separating mature from immature crabs based on allometric growth of body parts, with code based on Somerton’s (1980) program MATURE |
\|—————\|—————\|—————\|—————————\| \| **Type** \| **Authors** \|
**GitHub repository** \| **Description/notes** \| \| Package \| Josymar
Torrejon-Magallanes \|
[ejosymart/sizeMat](https://github.com/ejosymart/sizeMat) \| [sizeMat:
An R Package to Estimate Size at Sexual
Maturity](https://cran.r-project.org/web/packages/sizeMat/vignettes/sizeMat.html)
\| \| Package \| Rodrigo Sant’Ana, Fernando Mayer \|
[rodrigosantana/Regrans: Fits Segmented Linear Regression
Models](https://github.com/rodrigosantana/Regrans) \| Older repository:
[fernandomayer/Regrans](https://github.com/fernandomayer/Regrans/blob/master/change.point.R)
\| \| Package \| Derek Sonderegger \|
[siZer](https://cran.r-project.org/web/packages/SiZer/index.html) \|
[Conduct size at morphometric maturity analysis (SMM) and plot results
using the SiZer extension package](https://zenodo.org/records/5002120)
by Olson, Andrew P., Siddon, Chris E., and Eckert, Ginny L. \| \|
Package \| Vito M. R. Muggeo \|
[segmented](https://cran.r-project.org/web/packages/segmented/index.html)
\| [package reference
manual](https://cran.r-project.org/web/packages/segmented/segmented.pdf)
\| \| Package \| Youyi Fong \|
[chngpt](https://doi.org/10.32614/CRAN.package.chngpt) \| [Fitting
Threshold Regression Models Using
chngpt](https://cran.r-project.org/web/packages/chngpt/vignettes/chngpt-vignette.pdf)
(vignette) \| \| Package \| Tobie Surette \|
[TobieSurette/gulf.stats](https://github.com/TobieSurette/gulf.stats) \|
See files
[morphometric.maturity.R](https://github.com/TobieSurette/gulf.stats/blob/master/R/morphometric.maturity.R)
and
[morphometry.R](https://github.com/TobieSurette/gulf.stats/blob/master/R/morphometry.R)
\| \| R scripts \| Bradley Stevens \|
[Crabman52/Crustacean_Sensation](https://github.com/Crabman52/Crustacean_Sensation)
\| Include three different methods for separating mature from immature
crabs based on allometric growth of body parts, with code based on
Somerton’s (1980) program MATURE \|

The following scripts do not use morphometric data and require
individuals to already be classified as mature or immature. They provide
Expand All @@ -63,12 +85,25 @@ used to calculate size at maturity for non-crustacean fisheries. For a
comprehensive examination of this type of model, see ([Mainguy et al.
2024](#ref-mainguy2024)).

| | | | |
|----|----|----|----|
| **Type** | **Authors** | **GitHub repository** | **Description/notes** |
| R scripts | Lucas Rodrigues | [lvcasrodrigues/maturity_at_size](https://github.com/lvcasrodrigues/maturity_at_size) | Does not use morphometric data; takes size classes with known numbers of mature individuals per size class and fits a binomial model (frequentist or Bayesian). Finds SM50 by generating new data from the model rather than from ratio of parameters |
| R scripts | Mainguy et al. | [rafamoral/L50](https://github.com/rafamoral/L50): Monitoring reproduction in fish: Assessing the adequacy of ogives and the predicted uncertainty of their *L*<sub>50</sub> estimates for more reliable biological inferences | Over a dozen methods for estimating L50 values and obtaining confidence intervals from (frequentist or Bayesian) binomial models (Delta, Fieller, bootstrap resampling, profile-likelihood, etc.). See accompanying manuscript by Mainguy et al. ([2024](#ref-mainguy2024)). |
| R script | [Alastair V. Harry](https://scholar.google.com.au/citations?user=hb4nzPYAAAAJ&hl) | [Alharry/Maturity.ogive.R](https://gist.github.com/alharry/4576675) | Includes bootstrap resampling to obtain 95% CIs |
\|————–\|————–\|——————-\|————————–\| \| **Type** \| **Authors** \|
**GitHub repository** \| **Description/notes** \| \| R scripts \| Lucas
Rodrigues \|
[lvcasrodrigues/maturity_at_size](https://github.com/lvcasrodrigues/maturity_at_size)
\| Does not use morphometric data; takes size classes with known numbers
of mature individuals per size class and fits a binomial model
(frequentist or Bayesian). Finds SM50 by generating new data from the
model rather than from ratio of parameters \| \| R scripts \| Mainguy et
al. \| [rafamoral/L50](https://github.com/rafamoral/L50): Monitoring
reproduction in fish: Assessing the adequacy of ogives and the predicted
uncertainty of their *L*<sub>50</sub> estimates for more reliable
biological inferences \| Over a dozen methods for estimating L50 values
and obtaining confidence intervals from (frequentist or Bayesian)
binomial models (Delta, Fieller, bootstrap resampling,
profile-likelihood, etc.). See accompanying manuscript by Mainguy et al.
([2024](#ref-mainguy2024)). \| \| R script \| [Alastair V.
Harry](https://scholar.google.com.au/citations?user=hb4nzPYAAAAJ&hl) \|
[Alharry/Maturity.ogive.R](https://gist.github.com/alharry/4576675) \|
Includes bootstrap resampling to obtain 95% CIs \|

## Installation

Expand Down
6 changes: 3 additions & 3 deletions vignettes/classification.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,14 @@ knitr::opts_chunk$set(message = FALSE)
#| label: setup-2
#| echo: false
mytheme <- theme_classic()+ #define custom theme for ggplots
mytheme <- theme_classic() + # define custom theme for ggplots
theme(
axis.title.y = element_text(margin = margin(t = 0, r = 10, b = 0, l = 0)),
axis.title.x = element_text(margin = margin(t = 10, r = 0, b = 0, l = 0)),
text=element_text(size=13))
text = element_text(size = 13))
```

Here I will write a vignette explaining all of the methods that first classify points as mature or immature, enabling the use of logistic regression to find SM50 as would be done with a physiological metric of maturity. This vignette will be useful for referring readers to more complex options available in packages like `mclust` that are not available within `morphmat`.
This vignette describes methods that first classify individual data points as mature or immature, enabling the use of logistic regression to find SM50 as would be done with a physiological metric of maturity. This vignette will be useful for referring readers to more complex options available in packages like `mclust` that are not available within `morphmat`.

We will start by simulating a data set with a known SM50 value of 75 mm to demonstrate the use (and limitations) of broken-stick methods.

Expand Down

0 comments on commit 25ed206

Please sign in to comment.