R语言 流行病SIR模型
流行病模型是一种重要的工具,用于研究传染病在人群中的传播方式和趋势。其中,SIR模型是一种经典的流行病模型,用于描述传染病在人群中的传播动态。在本文中,我们将使用R语言来实现SIR模型,并通过模拟数据来展示其应用。
SIR模型由三个基本的组成部分组成:易感者(Susceptible)、感染者(Infected)和移除者(Removed)。下面是使用R语言编写的SIR模型的源代码:
# 定义SIR模型的微分方程
sir <- function(t, y, params) {
with(as.list(c(y, params)), {
ds <- -beta * s * i / n
di <- beta * s * i / n - gamma * i
dr <- gamma * i
return(list(c(ds, di, dr)))
})
}
# 设置初始条件和参数
y0 <- c(s = 999, i = 1, r = 0) # 初始人数分布
params <- c(beta = 0.2, gamma = 0.1) # 感染率和康复率
times <- seq(0, 100, by = 1) # 时间范围
# 使用ode函数求解微分方程
library(deSolve)
out <- ode(y =