MyNixOS website logo
Description

Bayesian Mixing Models in R.

Creates and runs Bayesian mixing models to analyze biological tracer data (i.e. stable isotopes, fatty acids), which estimate the proportions of source (prey) contributions to a mixture (consumer). 'MixSIAR' is not one model, but a framework that allows a user to create a mixing model based on their data structure and research questions, via options for fixed/ random effects, source data types, priors, and error terms. 'MixSIAR' incorporates several years of advances since 'MixSIR' and 'SIAR'.

MixSIAR

cran version rstudio mirror downloads DOI

MixSIAR is an R package that helps you create and run Bayesian mixing models to analyze biotracer data (i.e. stable isotopes, fatty acids), following the MixSIAR model framework. MixSIAR represents a collaborative coding project between the investigators behind MixSIR, SIAR, and IsoSource: Brice Semmens, Brian Stock, Eric Ward, Andrew Parnell, Donald Phillips, and Andrew Jackson.

MixSIAR incorporates several years of advances in Bayesian mixing model theory since MixSIR and SIAR, currently:

  • Any number of biotracers (examples with 1 isotope, 2 isotope, 8 fatty acids, and 22 fatty acids)
  • Source data fit hierarchically within the model
  • Source data by categorical covariate (e.g. sources by Region)
  • Categorical covariates (up to 2, choice of modeling as random or fixed effects, either nested or independent)
  • Continuous covariate (up to 1)
  • Error structure options with covariance (Residual * Process, Residual only)
  • Concentration dependence
  • Plot and include "uninformative"/generalist or informative priors
  • Fit multiple models and compare relative support using LOO/WAIC weights

For details, please see the MixSIAR paper:

  • Full description of equations
  • Advice/explanation on 4 common issues (error structures, priors, combining sources, covariates)
  • Case study highlighting new functionality (model selection with LOO/WAIC weights)

Stock BC, Jackson AL, Ward EJ, Parnell AC, Phillips DL, Semmens BX. 2018. Analyzing mixing systems using a new generation of Bayesian tracer mixing models. PeerJ 6:e5096 https://doi.org/10.7717/peerj.5096

Installation

The GUI has been removed from the CRAN version of MixSIAR (if desired, see MixSIARgui on GitHub). Running MixSIAR with scripts is easier to install and better for repeated analysis.

  1. Download and install/update R.

  2. Download and install JAGS.

  3. Open R and run:

install.packages("MixSIAR", dependencies=TRUE)
library(MixSIAR)

If you want the latest changes and bug fixes not yet on CRAN, you can install the GitHub version:

remotes::install_github("brianstock/MixSIAR", dependencies=T)

Tutorial

We suggest walking through the vignettes to familiarize yourself with MixSIAR.

There is also an extensive user manual included in the package install. To find the directory location on your computer:

find.package("MixSIAR")

Alternatively, you can download the manual from the GitHub site here.

Clean, runnable .R scripts for each vignette are also available in the example_scripts folder of the MixSIAR package install:

library(MixSIAR)
mixsiar.dir <- find.package("MixSIAR")
file.path(mixsiar.dir, "example_scripts")

You can then run the Wolves example script with:

setwd("choose/where/to/save/output")
source(file.path(mixsiar.dir, "example_scripts", "mixsiar_script_wolves.R"))

Feedback

This software has been improved by the questions, suggestions, and bug reports of the user community. If you have a comment, please use the Issues page.

Citing MixSIAR:

If you use MixSIAR results in publications, please cite the MixSIAR manual as (similar to how you cite R):

Stock BC and Semmens BX. 2016. MixSIAR GUI User Manual. Version 3.1. https://github.com/brianstock/MixSIAR. doi:10.5281/zenodo.1209993.

The MixSIAR model framework is described in:

Stock BC, Jackson AL, Ward EJ, Parnell AC, Phillips DL, Semmens BX. 2018. Analyzing mixing systems using a new generation of Bayesian tracer mixing models. PeerJ 6:e5096 https://doi.org/10.7717/peerj.5096

The primary citation for Bayesian mixing models (MixSIR):

Moore, J. W., & Semmens, B. X. (2008). Incorporating uncertainty and prior information into stable isotope mixing models. Ecology Letters, 11(5), 470-480.

If you are using the residual error term (SIAR):

Parnell, A. C., Inger, R., Bearhop, S., & Jackson, A. L. (2010). Source partitioning using stable isotopes: coping with too much variation. PLoS One, 5(3), e9672.

If you are using a hierarchical structure/random effects:

Semmens, B. X., Ward, E. J., Moore, J. W., & Darimont, C. T. (2009). Quantifying inter-and intra-population niche variability using hierarchical Bayesian stable isotope mixing models. PLoS One, 4(7), e6187.

If you are using continuous effects:

Francis, T. B., Schindler, D. E., Holtgrieve, G. W., Larson, E. R., Scheuerell, M. D., Semmens, B. X., & Ward, E. J. (2011). Habitat structure determines resource use by zooplankton in temperate lakes. Ecology letters, 14(4), 364-372.

If you are using source fitting:

Ward, E. J., Semmens, B. X., & Schindler, D. E. (2010). Including source uncertainty and prior information in the analysis of stable isotope mixing models. Environmental science & technology, 44(12), 4645-4650.

For a detailed description of the math underlying these models, see:

Parnell, A. C., Phillips, D. L., Bearhop, S., Semmens, B. X., Ward, E. J., Moore, J. W., Jackson, A. L., Grey, J., Kelley, D. J., & Inger, R. (2013). Bayesian stable isotope mixing models. Environmetrics, 24, 387-399.

For an explanation of the error structures ("Process only" vs. "Resid only" vs. "Process * Resid"), see:

Stock, B. C., & Semmens, B. X. (2016). Unifying error structures in commonly used biotracer mixing models. Ecology, 97(10), 2562–2569.

Metadata

Version

3.1.12

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows