fecr_stan: Modelling the reduction of faecal egg count data

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/fecr_stan.R

Description

Models the reduction in faecal egg counts data with analytical sensitivity-adjusted (un)paired (zero-inflated) Poisson-gamma models (with individual efficacy) using Stan modelling language.

It is computationally several-fold faster compared to conventional MCMC techniques. For the installation instruction of Stan, please read https://github.com/stan-dev/rstan/wiki/RStan-Getting-Started.

Usage

1
2
3
4
5
fecr_stan(preFEC, postFEC, rawCounts = FALSE, preCF = 50, postCF = preCF, 
paired = TRUE, indEfficacy = TRUE, zeroInflation = FALSE, 
  muPrior, kappaPrior, deltaPrior, phiPrior, deltakappaPrior,
  nsamples = 2000, nburnin = 1000, thinning = 1, nchain = 2, 
  ncore = 1, adaptDelta = 0.95, saveAll = FALSE, verbose = FALSE)

Arguments

preFEC

vector of pre-treatment faecal egg counts

postFEC

vector of post-treatment 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.

preCF

a positive integer or a vector of positive integers. Pre-treatment correction factor(s)

postCF

a positive integer or a vector of positive integers. Post-treatment correction factor(s)

paired

logical. If TRUE, uses the model for the paired design. Otherwise uses the model for the unpaired design

indEfficacy

logical. If TRUE, uses the paired model allowing for individual efficacy. Only use in combination with paired = TRUE and zeroInflation = FALSE

zeroInflation

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

muPrior

a list with hyper-prior information for the group mean epg parameter μ. 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

a list with hyper-prior information for the group dispersion parameter κ. 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

deltaPrior

a list with hyper-prior information for the reduction parameter δ. The default prior is list(priorDist = "beta",hyperpars=c(1,1)), i.e. a uniform prior between 0 and 1

phiPrior

a list with hyper-prior information for the zero-inflation parameter φ,The default prior is list(priorDist = "beta",hyperpars=c(1,1)), i.e. a uniform prior between 0 and 1

deltakappaPrior

a list with hyper-prior information for the shape parameter of reduction δ_κ. Only used if indEfficacy = TRUE. The default prior is list(priorDist = "normal",hyperpars=c(2,1))

nsamples

a positive integer specifying the number of samples for each chain (including burn-in samples)

nburnin

a positive integer specifying the number of burn-in samples

thinning

a positive integer specifying the thinning parameter, the period for saving samples

nchain

a positive integer specifying the number of chains

ncore

a positive integer specifying the number of cores to use when executing the chains in parallel

adaptDelta

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 δ, μ, κ and φ are saved. Default to FALSE.

verbose

logical. If TRUE, prints progress and debugging information

Details

The first time each model with non-default priors is applied, it can take up to 20 seconds for Stan 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 http://mc-stan.org/documentation/.

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 the posterior summary of FECR as the reduction, meanEPG.untreated as the mean pre-treatment epg, and meanEPG.treated as the mean after-treatment 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% equal-tailed credible interval and the median as summary statistics of reduction for the individual efficacy model. For all other models, we recommend to use the 95% HPD interval and the mode.

The returned value is a list that consists of:

stan.samples

An object of S4 class stanfit representing the fitted results. For more information, please see the stanfit-class in rstan reference manual.

posterior.summary

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

Author(s)

Craig Wang

References

Individual efficacy models: Craig Wang, Paul R. Torgerson, Kaplan, M. Ray, George, M. Melissa, Reinhard Furrer, (2018) Modelling anthelmintic resistance by extending eggCounts package to allow individual efficacy, International Journal for Parasitology: Drugs and Drug Resistance, Submitted.

Zero-inflation models: Craig Wang, Paul R. Torgerson, Johan Hoglund, Reinhard Furrer, (2017) Zero-inflated hierarchical models for faecal egg counts to assess anthelmintic efficacy, Veterinary Parasitology, Volume 235, Pages 20-28. http://dx.doi.org/10.1016/j.vetpar.2016.12.007

Other models: Paul R. Torgerson, Michaela Paul, Reinhard Furrer (2014) Evaluating faecal egg count reduction using a specifically designed package 'eggCounts' in R and a user friendly web interface, International Journal for Parasitology, Volume 44, Pages 299-303. http://dx.doi.org/10.1016/j.ijpara.2014.01.005

See Also

simData2s for simulating faecal egg counts data with two samples

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
## Not run: 
## load sample data
data(epgs)

## apply paired model with individual efficacy
model <- fecr_stan(epgs$before, epgs$after, rawCounts=FALSE, preCF=50, 
                   paired=TRUE, indEfficacy = TRUE)
samples <- stan2mcmc(model$stan.samples)

## End(Not run)

eggCounts documentation built on May 2, 2018, 5:06 p.m.