## ---- include = FALSE--------------------------------------------------------- packagename = 'DSAIDE' ## ---- eval=FALSE, echo=TRUE--------------------------------------------------- # library('DSAIDE') ## ---- eval=FALSE, echo=TRUE--------------------------------------------------- # dsaidemenu() ## ----dsaidemenu, fig.cap='Main menu of the DSAIDE package.', echo=FALSE------ knitr::include_graphics("mainmenu.png") ## ----appexample, fig.cap='Screenshot of the input-output elements of one of the apps.', echo=FALSE---- knitr::include_graphics("appexample.png") ## ----modelexample, fig.cap='Screenshot of the _Model_ section of one of the apps.', echo=FALSE---- knitr::include_graphics("modelexample.png") ## ----whattodoexample, fig.cap='Screenshot of the _What to do_ section of one of the apps.', echo=FALSE---- knitr::include_graphics("whattodoexample.png") ## ----eval=TRUE, echo=TRUE----------------------------------------------------- library('DSAIDE') ## ----eval=FALSE, echo=TRUE---------------------------------------------------- # help('simulate_SIR_model_ode') ## ---- eval=TRUE, echo=TRUE---------------------------------------------------- result <- simulate_SIR_model_ode() ## ---- eval=TRUE, echo=TRUE---------------------------------------------------- plot(result$ts[ , "time"],result$ts[ , "S"],xlab='Time',ylab='Number Susceptible',type='l') ## ---- eval=TRUE, echo=TRUE---------------------------------------------------- result <- simulate_SIR_model_ode(S = 2000, b = 0.001, g = 0.5, tfinal = 200) plot(result$ts[ , "time"],result$ts[ , "S"],xlab='Time',ylab='Number Susceptible',type='l') ## ---- eval=TRUE, echo=TRUE---------------------------------------------------- gvec = seq(0.01,0.3,by=0.01) #values of recovery rate, g, for which to run the simulation peak = rep(0,length(gvec)) #this will record the peak values for each g for (n in 1:length(gvec)) { #call the simulator function with different values of g each time result <- simulate_SIR_model_ode(S = 500, b = 1/2500, g = gvec[n], tfinal = 200) peak[n] <- max(result$ts[,"I"]) #record max number of infected for each value of g } #plot final result plot(gvec,peak,type='p',xlab='Rate of recovery',ylab='Max number of infected') ## ----eval=FALSE, echo=TRUE---------------------------------------------------- # simulate_SIR_model_ode <- function(S = 1000, I = 1, R = 0, b = 0.002, g = 1, tstart = 0, tfinal = 100, dt = 0.1) ## ----eval=FALSE, echo=TRUE, color='red'--------------------------------------- # mysimulator <- function( S = 1000, I = 1, R = 0, b = 0.002, g = 1, w = 0, tstart = 0, tfinal = 100, dt = 0.1 ) ## ----eval=FALSE, echo=TRUE---------------------------------------------------- # parvec_mb = c(b = b, g = g) ## ----eval=FALSE, echo=TRUE, color='red'--------------------------------------- # parvec_mb = c(b = b, g = g, w = w) ## ----eval=FALSE, echo=TRUE---------------------------------------------------- # dS_mb = -b*S*I # dI_mb = b*S*I -g*I # dR_mb = g*I ## ----eval=FALSE, echo=TRUE, color='red'--------------------------------------- # dS_mb = -b*S*I +w*R # dI_mb = b*S*I -g*I # dR_mb = g*I -w*R ## ----eval=TRUE, echo=TRUE----------------------------------------------------- source('mysimulator.R') #to initialize the new function - it needs to be in same directory as this code wvec = seq(0,1,by=0.02) #values of immunity loss rate, w, for which to run the simulation peak = rep(0,length(wvec)) #this will record the peak values for each g for (n in 1:length(wvec)) { result <- mysimulator( S = 1000, I = 1, R = 0, b = 1e-3, g = 0.5, w = wvec[n], tstart = 0, tfinal = 300, dt = 0.1) peak[n] <- max(result$ts[,"I"]) } plot(wvec,peak,type='p',xlab='Rate of waning immunity',ylab='Max number of infected')