Objective

To estimate reproduction number (Ro) using different methods.

# Remove all objects from workspace.
remove (list = objects() ) 
# Load add-on packages - R0 - contains differnt methods to estimate reproduction number.
library (R0) 

Method 1 - Contact rate, transmission probability, infectious period

Estimate Ro using contact rate, transmission probability and infectious period.

contact_rate = 5
transmission_probability = 0.15
infectious_period = 6
R0 = contact_rate * transmission_probability * infectious_period
c ("R0 = ", R0)
## [1] "R0 = " "4.5"

Method 2 - Attack rate

Estimate Ro using attack rate.

attack_rate = 0.6
R0 = (- log (1 - attack_rate)) / attack_rate
c ("R0 = ", R0)
## [1] "R0 = "            "1.52715121979026"

Estimate Ro using attack rate.

attack_rate = 0.6
est.R0.AR (AR = attack_rate)
## Reproduction number estimate using  Attack Rate  method.
## R :  1.527151

Method 3 - Average age of infection (and life expectancy)

Average age of infection for chicken pox was 6.7 in Maryland during 1913-1917, and life expectancy was 60 years.

average_age = 6.7
life_expectancy = 60
R0 = life_expectancy / average_age
c ("R0 = ", R0)
## [1] "R0 = "            "8.95522388059701"

Method 4 - Exponential growth rate

Estimate Ro using exponential growth rate for the 1918 influenza pandemic in Germany, using the data from the paper by Nishiura for key transmission parameters of an institutional outbreak during the 1918 influenza pandemic in Germany.

data (Germany.1918)

# plot epidemic
plot (Germany.1918, xlab = "Time")

# plot log of epidemic curve
plot (log (Germany.1918), xlab='Time')

# generatiom time distribution
mGT = generation.time ("gamma", c(3, 1.5))

# estimate R0 using expoential growth method using start date of first day and end date of 20 days.
est.R0.EG (Germany.1918, mGT, begin=1, end=20)
## Waiting for profiling to be done...
## Reproduction number estimate using  Exponential Growth  method.
## R :  1.715775[ 1.646645 , 1.788808 ]

Method 5 - Maximum likelihood

# estimate R0 using maximum likelihood method
mGT = generation.time("gamma", c(2.45, 1.38))
est.R0.ML (Germany.1918, mGT)
## Reproduction number estimate using  Maximum Likelihood  method.
## R :  1.205348[ 1.152364 , 1.259946 ]