fec_stan: Modelling of faecal egg count data (one-sample case)

View source: R/fec_stan.R

fec_stanR Documentation

Modelling of faecal egg count data (one-sample case)

Description

Models the mean of faecal egg counts with Bayesian hierarchical models. See Details for a list of model choices.

Usage

fec_stan(fec, rawCounts = FALSE, CF = 50, zeroInflation = TRUE, 
  muPrior, kappaPrior, phiPrior, nsamples = 2000, nburnin = 1000, 
  thinning = 1, nchain = 2, ncore = 1, adaptDelta = 0.95,
  saveAll = FALSE, verbose = FALSE)

Arguments

fec

numeric vector. Faecal egg counts.

rawCounts

logical. If TRUE, preFEC and postFEC correspond to raw counts (as counted on equipment). Otherwise they correspond to calculated epgs (raw counts times correction factor). Defaults to FALSE.

CF

a positive integer or a vector of positive integers. Correction factor(s).

zeroInflation

logical. If true, uses the model with zero-inflation. Otherwise uses the model without zero-inflation

muPrior

named list. Prior for the group mean epg parameter \mu. The default prior is list(priorDist = "gamma",hyperpars=c(1,0.001)), i.e. a gamma distribution with shape 1 and rate 0.001, its 90% probability mass lies between 51 and 2996.

kappaPrior

named list. Prior for the group dispersion parameter \kappa. The default prior is list(priorDist = "gamma",hyperpars=c(1,0.7)), i.e. a gamma distribution with shape 1 and rate 0.7, its 90% probability mass lies between 0.1 and 4.3 with a median of 1.

phiPrior

named list. Prior for the zero-inflation parameter \phi. The default prior is list(priorDist = "beta",hyperpars=c(1,1)), i.e. a uniform prior between 0 and 1.

nsamples

a positive integer. Number of samples for each chain (including burn-in samples).

nburnin

a positive integer. Number of burn-in samples.

thinning

a positive integer. Thinning parameter, i.e. the period for saving samples.

nchain

a positive integer. Number of chains.

ncore

a positive integer. Number of cores to use when executing the chains in parallel.

adaptDelta

numeric. The target acceptance rate, a numeric value between 0 and 1.

saveAll

logical. If TRUE, posterior samples for all parameters are saved in the stanfit object. If FALSE, only samples for \mu, \kappa and \phi are saved. Default to FALSE.

verbose

logical. If true, prints progress and debugging information.

Details

List of built-in models

  • without zero-inflation: set zeroInflation = FALSE

  • with zero-inflation: set zeroInflation = TRUE

Note that this function only models the mean of egg counts, see fecr_stan() for modelling the reduction.

Other information

The first time each model with non-default priors is applied, it can take up to 20 seconds to compile the model. Currently the function only support prior distributions with two parameters. For a complete list of supported priors and their parameterization, please consult the list of distributions in Stan User Guide.

The default number of samples per chain is 2000, with 1000 burn-in samples. Normally this is sufficient in Stan. If the chains do not converge, one should tune the MCMC parameters until convergence is reached to ensure reliable results.

Value

Prints out summary of meanEPG as the posterior mean epg. The posterior summary contains the mean, standard deviation (sd), 2.5%, 50% and 97.5% percentiles, the 95% highest posterior density interval (HPDLow95 and HPDHigh95) and the posterior mode. NOTE: we recommend to use the 95% HPD interval and the mode for further statistical analysis.

The returned value is a list that consists of:

stan.samples

an object of S4 class stanfit representing the fitted results

posterior.summary

a data.frame that is the same as the printed posterior summary

Author(s)

Craig Wang

See Also

simData1s for simulating faecal egg count data with one sample

Examples

## load the sample data
data(epgs)

## apply zero-infation model
model <- fec_stan(epgs$before, rawCounts = FALSE, CF = 50)

eggCounts documentation built on Oct. 15, 2023, 1:06 a.m.