library('deSolve')
library('FME')
parameters <- list(beta = 2,
gamma = 1)
infected_initial <- 0.01
initial_condition <-
c(S = 1 - infected_initial,
I = infected_initial,
R = 0)
sir_ode <- function(t, state, pars) {
with(as.list(c(state, pars)), {
dS <- - beta * I * S
dI <- beta * I * S - gamma * I
dR <- gamma * I
return(list(c(dS, dI, dR)))
})
}
timepoints <- seq(0, 10, by = 0.1)
sir_solution <- ode(y = initial_condition,
times = timepoints,
func = sir_ode,
parms = parameters)
plot(sir_solution)Minimal SIR-like model
Defining and solving a simple ODE model
Trying to perform a sensitivity analysis
par_ranges <- data.frame(min = c(0.1, 0.1),
max = c(5, 5),
row.names = c('beta', 'gamma'))
s_r <- sensRange(sir_ode, state = initial_condition,
sensvar = 'I', dist = 'grid',
pars = parameters, parRange = par_ranges[2, ])