Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/aariq/bumbl

R package for modeling bumblebee colony growth.
https://github.com/aariq/bumbl

bumblebee demography glm switchpoint

Last synced: 25 days ago
JSON representation

R package for modeling bumblebee colony growth.

Awesome Lists containing this project

README

        

---
output: github_document
---

```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```

# Tools for modeling bumblebee colony growth

[![R build status](https://github.com/Aariq/bumbl/workflows/R-CMD-check/badge.svg)](https://github.com/Aariq/bumbl/actions) [![codecov](https://codecov.io/gh/Aariq/bumbl/branch/master/graph/badge.svg?token=SU9rm3O2cc)](https://app.codecov.io/gh/Aariq/bumbl) [![Project Status: Inactive – The project has reached a stable, usable state but is no longer being actively developed; support/maintenance will be provided as time allows.](https://www.repostatus.org/badges/latest/inactive.svg)](https://www.repostatus.org/#inactive)
[![CRAN status](https://www.r-pkg.org/badges/version/bumbl)](https://CRAN.R-project.org/package=bumbl)
[![metacran downloads](https://cranlogs.r-pkg.org/badges/grand-total/bumbl)](https://cran.r-project.org/package=bumbl)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.4545782.svg)](https://doi.org/10.5281/zenodo.4545782)

`bumbl` implements a model for bumblebee colony growth described in Crone and Williams 2016^1^.
It models colony growth as having a switchpoint at some time, *tau*, where the colony switches from growth and worker production to gyne production and decline.
Currently `bumbl()` works by fitting a separate switchpoint model to each colony, optimizing the switchpoint, *tau*.
It returns the optimal switchpoint, growth, and decline rates for each colony.
Because the current version of `bumbl()` works by fitting a separate GLM to each colony, if covariates are included, their estimates could vary significantly among colonies.
Stay tuned for future developments that may allow estimating a single value of a covariate but different values of growth and decline rates and *tau* for each colony.

## Contributing

I'm looking for collaborators who know (or are willing to let me teach them) how to use git and GitHub and who have an interest in helping to develop and maintain this package long-term.
I'm not a bumblebee biologist, so I would especially love a collaborator who works on bumblebees or other organisms with a similar growth, switch, decline lifecycle.

I also welcome contributions including bug-fixes, improvement of documentation, additional features, or new functions relating to bumblebee ecology and demography from anyone!

### Roadmap

- [x] Write `bumbl()` function to model colony growth with switchpoint
- [x] Finish documentation and vignette(s)
- [x] [rOpenSci review]()
- [x] Regroup with Elizabeth Crone to discuss current behavior of `bumbl()`
- [x] Release v0.1.0 and archive on Zenodo
- [x] Bug fixes
- [x] Submit v1.0.0 of package to CRAN
- [x] Write a manuscript for JOSS ([desk-reject](https://github.com/openjournals/joss-reviews/issues/3532), out of scope)
- [x] Release minor version to CRAN to update citation
- [ ] Possibly re-work internals of `bumbl()`? (see [\#58](https://github.com/Aariq/bumbl/issues/58) and [notes](https://github.com/Aariq/bumbl/blob/master/notes/single-model-rework-notes.Rmd))
- [ ] Submit v2.0.0 of package to CRAN

Other possible areas of improvement:

- Extend `bumbl()` to work with GLMMs
- Test significance of switchpoint (see [\#62](https://github.com/Aariq/bumbl/issues/62))
- Extend `bumbl()` to work with dates, datetimes, or other timeseries classes (see [\#46](https://github.com/Aariq/bumbl/issues/46))

## Installation

You can install `bumbl` with:

``` r
install.packages("bumbl")
```

Or install the development version with:

``` r
devtools::install_github("Aariq/bumbl", build_vignettes = TRUE)
```

## Getting started

View the package vignette with:

``` r
library(bumbl)
vignette("bumbl")
```

```{r include=FALSE}
# library(bumbl)
devtools::load_all()
```

View the `bomubs` dataset

```{r}
head(bombus)
```

### Example use

Using a subset of the `bombus` dataframe to estimate the week (tau) that colonies switch to reproduction

```{r}
bombus2 <- bombus[bombus$colony %in% c(9, 82, 98, 35), ]
results <- bumbl(bombus2, colonyID = colony, t = week, formula = d.mass ~ week)
results
```

Plot the results

```{r}
par(mfrow = c(2, 2))
plot(results)
par(mfrow = c(1, 1))
```

# References

^1^Crone, E.
E., and Williams, N. M.
(2016).
Bumble bee colony dynamics: quantifying the importance of land use and floral resources for colony growth and queen production.
Ecol.
Lett.
19, 460–468.

------------------------------------------------------------------------

Please note that the `bumbl` project is released with a [Contributor Code of Conduct](https://github.com/Aariq/bumbl/blob/master/CODE_OF_CONDUCT.md).
By contributing to this project you agree to abide by its terms.