Description Usage Arguments Details Epidemiology Model Assumptions References Examples
Simulates an HIV-1 epidemic in a population of men and women with purely heterosexual mixing under varying scenarios of sexual partnership concurrency.
1 2 3 | conc_microsim(s.num.f, i.num.f, s.num.m, i.num.m, monog.f = TRUE,
monog.m = TRUE, meandeg, part.duration, nsteps, nsims = 1,
verbose = TRUE, updateProgress = NULL)
|
s.num.f |
Number of initial susceptible females in the population. |
i.num.f |
Number of initial infected females in the population. |
s.num.m |
Number of initial susceptible males in the population. |
i.num.m |
Number of initial infected females in the population. |
monog.f |
If |
monog.m |
If |
meandeg |
Average momentary mean degree (number of current partnerships) in the population. |
part.duration |
Average length of partnerships in months. |
nsteps |
Number of time steps to simulate the model over. This must be a positive integer. |
nsims |
Number of simulations to run. |
verbose |
If |
updateProgress |
Progress function used by Shiny application. |
This function runs a microsimulation model of HIV-1 transmission in a purely heterosexual context to investigate how the presence or absence of relational concurrency in sexual partnerships affects the prevalence of disease prevalence at the population level.
The parameters of the model include the initial number of susceptible females and males, the initial number of infected females and males, whether males and females are allowed concurrency, the mean degree of all persons in the population, and the average duration of partnerships (in momths). As the four examples below show, all parameters except concurrency may be held constant to test the effects of concurrency.
HIV infection is simulated based on a four-stage disease progression model in which persons transition from acute to latent to pre-AIDS to AIDS stages. These transitions occur at deterministic intervals based on estimates of the average time per stage.
The transmission probability to uninfected partners varies by stage of the infected partner: it is highest in the acute stage and lowest in the AIDS stage when no sexual acts occur. See the Hollingsworth reference for further details.
This model makes several simplifying assumptions about partnership formation
and dissolution, such as the phenomenon of all dissolving partnerships being
immediately replaced by a new partnership in the network. Additionally, the
user may specify whether concurrency is allowed, but not the level of
concurrency (it is calculated based on a binomial distribution with the
probability equal to the mean degree parameter). Therefore, this model serves
as an introduction to network modeling featured in the network class of
functions in EpiModel
; there the user has much more control over the
network parameterization and simulation.
The background and details of this model are explained in a full tutorial on concurrency at https://statnet.csde.washington.edu/trac/wiki/ConcurrencyIndex.
Hollingsworth TD, Anderson RM, Fraser C. HIV-1 transmission, by stage of infection. Journal of Infectious Diseases. 2008; 198(5): 687-693.
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 | # No concurrency model
no.conc <- conc_microsim(s.num.f = 1000, i.num.f = 50,
s.num.m = 1000, i.num.m = 50,
monog.f = TRUE, monog.m = TRUE,
meandeg = 0.8, part.duration = 10,
nsteps = 2000, nsims = 20)
# Male concurrency only model
male.conc <- conc_microsim(s.num.f = 1000, i.num.f = 50,
s.num.m = 1000, i.num.m = 50,
monog.f = TRUE, monog.m = FALSE,
meandeg = 0.8, part.duration = 10,
nsteps = 2000, nsims = 20)
# Female concurrency only model
feml.conc <- conc_microsim(s.num.f = 1000, i.num.f = 50,
s.num.m = 1000, i.num.m = 50,
monog.f = FALSE, monog.m = TRUE,
meandeg = 0.8, part.duration = 10,
nsteps = 2000, nsims = 20)
# Both sexes concurrency model
both.conc <- conc_microsim(s.num.f = 1000, i.num.f = 50,
s.num.m = 1000, i.num.m = 50,
monog.f = FALSE, monog.m = FALSE,
meandeg = 0.8, part.duration = 10,
nsteps = 2000, nsims = 20)
# Plot the results
par(mfrow = c(2,2), mar = c(3,3,2,1), mgp = c(2,1,0))
plot(no.conc, qnt.alpha = 0.5, main = "No Concurrency")
plot(male.conc, qnt.alpha = 0.5, main = "Male Concurrency")
plot(feml.conc, qnt.alpha = 0.5, main = "Female Concurrency")
plot(both.conc, qnt.alpha = 0.5, main = "Both Concurrency")
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.