How to extract the serial interval distribution from a systematic review?

Published

March 26, 2024

Ingredients

  • Use the distribution estimated from the WHO Ebola Response Team in 2015.

Steps in code

# Load required packages
library(epiparameter)
library(tidyverse)

# Load the library of parameters as an epiparam object
epiparam_all <- epiparam()

# Filter by disease, epi_distribution, region, and year
epiparam_ebola <- epiparam_all %>% 
  filter(str_detect(disease,"Ebola")) %>% 
  filter(epi_distribution == "serial_interval") %>% 
  filter(region == "West Africa") %>% 
  filter(year == 2015)

epiparam_ebola
Epiparam object
Number of distributions in library: 1
Number of diseases: 1
Number of delay distributions: 1
Number of offspring distributions: 0
Number of studies in library: 1
<Head of library>
              disease epi_distribution prob_distribution
1 Ebola Virus Disease  serial_interval             gamma
<0 more rows & 55 more cols not shown>
# Convert a row to an epidist class object
epidist_ebola <- as_epidist(epiparam_ebola)

epidist_ebola
Disease: Ebola Virus Disease
Pathogen: Ebola Virus
Epi Distribution: serial interval
Study: WHO, Ebola, Response, Team (2015). "West African Ebola Epidemic after
One Year — Slowing but Not Yet under Control." _The New England Journal
of Medicine_. doi:10.1056/NEJMc1414992
<https://doi.org/10.1056/NEJMc1414992>.
Distribution: gamma
Parameters:
  shape: 2.188
  scale: 6.490
# Plot the epidist object
plot(epidist_ebola,day_range = 0:50)

Steps in detail

  • The epiparameter package is loaded to access the library of epidemiological parameters.
  • The epidist_db() function extract a parameter by specifying the disease name in the disease argument, epidemiological distribution in the epi_dist argument, and author name in the author argument.
  • The epidist_db() function creates an epidist object.
  • The plot function creates a plot from epidist objects.
  • The epiparam() functions provide access to a data frame with all the names of diseases, epidemiological distribution, and authors.

Please note that the code assumes the necessary packages are already installed. If they are not, you can install them using first the install.packages("pak") function and then the pak::pak() function for both packages in CRAN or GitHub before loading them with library().

Additionally, make sure to adjust the serial interval distribution parameters according to the specific outbreak you are analyzing.