serofoi: force-of-infection from population based serosurveys with age-disaggregated data
serofoi is an R package to estimate the Force-of-Infection (FoI) of a given pathogen from age-disaggregated population-based cross-sectional serosurveys, using a Bayesian framework. The package provides a set of features for assessing model fitting, convergence and visualisation.
serofoi relies on the rstan
package, which provides an R interface for the Stan programming language for statistical Bayesian modelling. Particularly, serofoi relies on the use of a Hamiltonian Monte Carlo (HMC) algorithm implemented by Stan for Markov chain Monte Carlo (MCMC) sampling. The implemented methods are outlined in (Cucunubá et al. 2017) and (Carrera et al. 2020) (see FoI Models for further details)
serofoi is part of the Epiverse Initiative.
Installation
You can install the development version of serofoi from GitHub running:
if(!require("pak")) install.packages("pak")
pak::pak("epiverse-trace/serofoi@dev")
or:
if(!require("remotes")) install.packages("remotes")
remotes::install_github("epiverse-trace/serofoi", ref = "dev")
Quick start
serofoi provides a minimal serosurvey dataset, serodata
, that can be used to test out the package.
# Load example dataset chagas2012 included with the package
data(chagas2012)
head(chagas2012, 5)
#> survey_year n_sample n_seropositive age_min age_max
#> 1 2012 34 0 1 1
#> 2 2012 25 0 2 2
#> 3 2012 35 1 3 3
#> 4 2012 29 0 4 4
#> 5 2012 36 0 5 5
The function prepare_serodata
will prepare the entry data for the use of the modelling module; this function computes the sample size, the years of birth and the binomial confidence interval for each age group in the provided dataset. A visualisation of the prepared seroprevalence data can be obtained using the function plot_seroprev:
plot_serosurvey(chagas2012, bin_serosurvey = TRUE, size_text = 15)
Contributions
Contributors to the project include:
Zulma M. Cucunubá (author, maintainer)
Nicolás Torres (author)
Ben Lambert (author)
Pierre Nouvellet (author)
Geraldine Gómez (contributor)
Jaime A. Pavlich-Mariscal (contributor)
Miguel Gamez (contributor)
Hugo Gruson (contributor)
David Santiago Quevedo (contributor)
Everlyn Kamau (contributor)
Richard Creswell (contributor)
Sumali Bajaj (contributor)
Package vignettes
More details on how to use serofoi can be found in the online documentation as package vignettes, under Get Started, An Introduction to FoI Models and Real-life Use Cases for serofoi
Help
To report a bug please open an issue.
Contribute
Contributions to serofoi are welcomed. Please follow the package contributing guide.
Code of conduct
Please note that the serofoi project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.