Analysing Stable Isotope Data

Welcome to this tutorial on how to visualise, analyse and interpret stable isotope data. The videos and files below focus on data handling and analysis, the theory surrounding these analyses and how to interpret the results are covered in more detail in the Stable Isotope Ecology video series.

The tutorial is entirely based in R, using Rstudio and Markdown files. You will need to download and install the following software

R -

R Studio -

JAGS (required for Bayesian analyses) -

Data Story

The data used in this tutorial come from a series of lakes in Northern Europe where I worked as a Post Doc for a few happy years. The video will help explain the background behind these data and hopefully put the subsequent analyses in context.

Data Familiarization

Before you begin to analyse your data it is important to make some initial inspection to identify outliers or other variable which may influence your data. In this video we load some data and do some initial exploration using the tidyverse suite of R packages

The script (an R markdown file) and data files used in this videos are available below.

The Stable Isotope Biplot

An x-y scatterplot is an incredibly useful tool for initial data interrogation and an essential step prior to data analysis. Here I outline one approach to generate these biplots using isotope data. The script and data files necessary for this step are found in the data familiarization section above

Mixing Models - 2 end-member

In order to infer ecological relationships from isotope data we need to consider the isotope ratios of consumers in relation to their putative prey. Mixing models are one commonly used approach to make these connections. In next two videos we will deal with relatively complex mixing models but before that it is useful to start with a simple model. Here we apply the two-source, one tracer model described by Post in 2002 ( to determine the resource use and trophic position of fishes in the example dataset provided above.

The 2-source mixing model is a very useful tool but it has limitations. It cannot handle more than two sources and cannot account for variability in trophic fractionation or prey values. For more complex models we need a more complex approach. There are several Bayesian mixing models available but I quite like the SIMMR package developed by Andrew Parnell, Rich Inger and colleagues, . In this example we use the SIMMR package to estimate resource use of fishes in our example dataset. Source and script files are at right.

Mixing Models - SIMMR

SIMMR is a wonderful package but it is restricted to analyzing single systems. The MixSIAR package developed by Brian Stock and others is an incredibly flexible and powerful package capable of analyzing across multiple locations and handling covariables. A complete description o the package is available on Brian's GitHub page . Here we look at one application of MixSIAR, as a tool to understand differences among the species and systems included in the example dataset. Necessary files are at right.

Mixing Model - MixSIAR

Moving on from mixing models, in the next two videos we will explore the SIBER package, used to estimate the isotopic niche and isotopic food web metrics. Background theory regarding these metrics is covered int he Stable Isotope Ecology video series on this site. Necessary files are at right.

The Isotopic Niche

The Isotopic Food Web

Estimating food web metrics using the SIBER package follows a simialr protocol to the isotopic niche calculations above. The necessary files are below.

Trophic Position

In the final video we look at a calculation of trophic position using the R package tRophic position, developed by Claudio Quezada