The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

Ex 3: Lake

Here we step through the Lake Example using the script version of MixSIAR. For a demonstration using the GUI version, see the MixSIAR Manual. For a thorough walkthrough of how to use MixSIAR in a script, see the Wolves Example, which provides more commentary and explanation.

For a clean, runnable .R script, look at mixsiar_script_lake.R in the example_scripts folder of the MixSIAR package install:

library(MixSIAR)
mixsiar.dir <- find.package("MixSIAR")
paste0(mixsiar.dir,"/example_scripts")

You can run the lake example script directly with:

source(paste0(mixsiar.dir,"/example_scripts/mixsiar_script_lake.R"))

Lake Example

The Lake Example data is simulated based on Francis et al. 2011 and we include it as a example of how MixSIAR can include a continuous effect. Here we examine the diet of zooplankton in 21 lakes using:

MixSIAR fits a continuous covariate as a linear regression in ILR/transform-space. Two terms are fit for the proportion of each source: an intercept and a slope. The plot uses the posterior median estimates of the intercept and slope, and the lines are curved because of the ILR-transform back into p-space. For details, or if you would like to make modifications, see ?plot_continous_var.R.

Fitting a model with a continuous effect is more complex than the categorical fixed/random effects and can be a bit finicky.

Load MixSIAR package

Load mixture data

See ?load_mix_data for details.

The lake consumer data has 1 covariate, which we fit as a continuous effect (cont_effects="Secchi.Mixed"). There are no fixed/random effects (factors=NULL, fac_random=NULL, fac_nested=NULL).

Load source data

See ?load_source_data for details.

We have no fixed/random effects in the model (source_factors=NULL), and we do not have concentration dependence data (conc_dep=FALSE). We have the original “raw” source data, not means and SDs (data_type="raw").

Load discrimination data

See ?load_discr_data for details.

Plot data

This is your chance to check:

Calculate convex hull area

Calculate normalized surface area of the convex hull polygon(s) as in Brett (2014).

Note 1: discrimination SD is added to the source SD (see ?calc_area for details)

## [1] 3.053018

Plot prior

Define your prior, and then plot using “plot_prior”

Write JAGS model file

In the Lake Example we demo the “Residual only” error option. The differences between “Residual * Process”, “Residual only”, and “Process only” are explained in Stock and Semmens (2016).

Run model

Choose one of the MCMC run options:

run == Chain Length Burn-in Thin # Chains
“test” 1,000 500 1 3
“very short” 10,000 5,000 5 3
“short” 50,000 25,000 25 3
“normal” 100,000 50,000 50 3
“long” 300,000 200,000 100 3
“very long” 1,000,000 500,000 500 3
“extreme” 3,000,000 1,500,000 500 3

First use run = "test" to check if 1) the data are loaded correctly and 2) the model is specified correctly:

After a test run works, increase the MCMC run to a value that may converge:

Analyze diagnostics and output

MixSIAR fits a continuous covariate as a linear regression in ILR/transform-space. Two terms are fit for the proportion of each source: an intercept and a slope. The plot uses the posterior median estimates of the intercept and slope, and the lines are curved because of the ILR-transform back into p-space. For details, or if you would like to make modifications, see ?plot_continous_var. See ?output_JAGS for output options.

The other posterior plots MixSIAR produces for a continuous effect show the estimated diet for the minimum, median, and maximum individuals.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.