calc.timing.magnitude: Calculate peak timing of introduction and proportion infected

Description Usage Arguments Value Author(s) See Also Examples

View source: R/hmob_funcs.R

Description

This function takes the output from a TSIR simulation and calculates the peak of the waiting time distribution and the mean proportion infected in each district.

Usage

1
calc.timing.magnitude(sim, N, pathogen, intro)

Arguments

sim

simulation object containing simulations with both basic gravity and gravity with duration

N

a named vector of population size of each district

pathogen

name of pathogen

intro

type of introduction

Value

a longform dataframe to use for plotting

Author(s)

John Giles

See Also

Other simulation: calc.hpd(), calc.prop.inf(), calc.prop.remain(), calc.wait.time(), decay.func(), get.age.beta(), get.beta.params(), sim.TSIR.full(), sim.TSIR(), sim.combine.dual(), sim.combine(), sim.gravity.duration(), sim.gravity(), sim.lambda(), sim.pi(), sim.rho(), sim.tau()

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
sims <- c(
     "./output/TSIR_sim_influenza_high.Rdata",
     "./output/TSIR_sim_influenza_low.Rdata",
     "./output/TSIR_sim_measles_high.Rdata",
     "./output/TSIR_sim_measles_low.Rdata",
     "./output/TSIR_sim_malaria_high.Rdata",
     "./output/TSIR_sim_malaria_low.Rdata",
     "./output/TSIR_sim_ebola_high.Rdata",
     "./output/TSIR_sim_ebola_low.Rdata",
     "./output/TSIR_sim_pertussis_high.Rdata",
     "./output/TSIR_sim_pertussis_low.Rdata",
     "./output/TSIR_sim_sars_high.Rdata",
     "./output/TSIR_sim_sars_lowRdata"
)

# Calculate peak waiting time and proportion infected for each scenario and district and combine
cl <- parallel::makeCluster(4)
doParallel::registerDoParallel(cl)
parallel::clusterExport(cl, ls(environment()), envir=environment())

sims <- foreach (i=1:length(sims), .combine='rbind', .packages=c('stringr', 'hmob')) %dopar% {
     
     sim <- load.obj(sims[i])
     sim.names <- str_split(str_sub(sims[i], end=-7), "_", simplify=TRUE)
     calc.timing.magnitude(sim=sim, N=N.pop, pathogen=sim.names[1,3], intro=sim.names[1,4])
}

# Add waiting time in days
sims$days <- NA
sims$days[sims$pathogen == 'influenza'] <- sims$wait.time[sims$pathogen == 'influenza']*3
sims$days[sims$pathogen == 'measles'] <- sims$wait.time[sims$pathogen == 'measles']*14
sims$days[sims$pathogen == 'malaria'] <- sims$wait.time[sims$pathogen == 'malaria']*60
sims$days[sims$pathogen == 'ebola'] <- sims$wait.time[sims$pathogen == 'ebola']*16.6
sims$days[sims$pathogen == 'pertussis'] <- sims$wait.time[sims$pathogen == 'pertussis']*25
sims$days[sims$pathogen == 'sars'] <- sims$wait.time[sims$pathogen == 'sars']*8

gilesjohnr/hmob documentation built on Aug. 8, 2020, 1:26 a.m.