Learn R Programming

mobr

Measurement of Biodiversity in R

This repository hosts an R package that is actively being developed for estimating biodiversity and the components of its change. The key innovations of this R package over other R packages that also carry out rarefaction (e.g., vegan, iNext) is that mobr is focused on 1) making empirical comparisons between treatments or gradients, and 2) our framework emphasizes how changes in biodiversity are linked to changes in community structure: the SAD, total abundance, and spatial aggregation.

The concepts and methods behind this R package are described in three publications.

McGlinn, D.J., S.A. Blowes, M. Dornelas, T. Engel, I.S. Martins, H. Shimadzu, N.J. Gotelli, A. Magurran, B.J. McGill, and J.M. Chase. accepted. Disentangling non-random structure from random placement when estimating β-diversity through space or time. Ecosphere. https://doi.org/10.1101/2023.09.19.558467

McGlinn, D.J. X. Xiao, F. May, N.J Gotelli, T. Engel, S.A Blowes, T.M. Knight, O. Purschke, J.M Chase, and B.J. McGill. 2019. MoB (Measurement of Biodiversity): a method to separate the scale-dependent effects of species abundance distribution, density, and aggregation on diversity change. Methods in Ecology and Evolution. 10:258–269. https://doi.org/10.1111/2041-210X.13102

McGlinn, D.J. T. Engel, S.A. Blowes, N.J. Gotelli, T.M. Knight, B.J. McGill, N. Sanders, and J.M. Chase. 2020. A multiscale framework for disentangling the roles of evenness, density, and aggregation on diversity gradients. Ecology. https://doi.org/10.1002/ecy.3233

Chase, J.M., B. McGill, D.J. McGlinn, F. May, S.A. Blowes, X. Xiao, T. Knight. 2018. Embracing scale-dependence to achieve a deeper understanding of biodiversity and its change across communities. Ecology Letters. 21: 1737–1751. https://doi.org/10.1111/ele.13151

Please cite mobr. Run the following to get the appropriate citation for the version you're using:

citation(package = "mobr")

Installation

install.packages('mobr')

Or, install the Github version

install.packages('remotes')

Now that remotes is installed you can install mobr using the following R code:

remotes::install_github('MoBiodiv/mobr')

Examples

The package vignette provides a useful walk-through the package tools, but below is some example code that uses the two key analyses and related graphics.

library(mobr)
library(dplyr)

data(tank_comm)
data(tank_plot_attr)
indices <- c('N', 'S', 'S_n', 'S_C', 'S_PIE')
tank_div <- tibble(tank_comm) %>% 
  group_by(group = tank_plot_attr$group) %>% 
  group_modify(~ calc_comm_div(.x, index = indices, effort = 5,
                               extrapolate = TRUE))
plot(tank_div)
tank_mob_in <- make_mob_in(tank_comm, tank_plot_attr, coord_names = c('x', 'y'))
tank_deltaS <- get_delta_stats(tank_mob_in, 'group', ref_level='low',
                             type='discrete', log_scale=TRUE, n_perm = 5)
plot(tank_deltaS, 'b1')

Meta

  • Please report any issues or bugs.
  • License: MIT
  • Get citation information for mobr in R doing citation(package = 'mobr')
  • Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Thanks

  • Gregor Seyer for providing a constructive review of our CRAN submission
  • Kurt Hornik for helping us keep up with CRAN changes.

Copy Link

Version

Install

install.packages('mobr')

Monthly Downloads

207

Version

3.0.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Daniel McGlinn

Last Published

August 17th, 2024

Functions in mobr (3.0.0)

fire_comm

Fire data set
calc_S_C

Calculate species richness for a given coverage level.
plot_comm_div

Plot alpha-, beta-, and gamma-scale biodiversity statistics for a MoB analysis
make_mob_in

Create the 'mob_in' object.
mobr

Measurement of Biodiversity in R
subset.mob_in

Subset the rows of the mob data input object
rarefaction

Rarefied Species Richness
calc_beta_div

Calculate beta diversity from sites by species table.
invChat

Number of individuals corresponding to a desired coverage (inverse C_hat)
calc_chao1

Estimation of species richness
get_null_comm

Generate a null community matrix
kNCN_average

Construct spatially constrained sample-based rarefaction (sSBR) curve using the k-Nearest-Centroid-neighbor (k-NCN) algorithm
get_mob_stats

A now obsolete function that used to calculate sample based and group based biodiversity statistics.
get_delta_stats

Conduct the MoB tests on drivers of biodiversity across scales.
plot.mob_out

Plot the multiscale MoB analysis output generated by get_delta_stats.
plot.mob_stats

Obsolete function that used to plot alpha- and gamma-scale biodiversity statistics for a MoB analysis
plot_rarefaction

Plot rarefaction curves for each treatment group
tank_comm

Cattle tank data set
calc_div

Compute various diversity indices from a vector of species abundances (i.e., one row of a community matrix)
calc_comm_div

Calculate biodiversity statistics from sites by species table.
calc_SPIE

Calculate S_PIE
inv_comm

Invasive plants dataset
calc_C_target

Calculate the recommended target coverage value for the computation of beta_C
calc_PIE

Calculate probability of interspecific encounter (PIE)
avg_nn_dist

Compute average nearest neighbor distance
compare_samp_rarefaction

Compare all sample-based curves (random, spatially constrained-k-NN, spatially constrained-k-NCN)
Chat

Calculate expected sample coverage C_hat
plot_N

Plot the relationship between the number of plots and the number of individuals
plot_abu

Plot distributions of species abundance