如果您从 R 中使用 igraph,请使用此选项
time_bins.sir {igraph} | R 文档 |
在图上运行 SIR (易感-感染-康复) 模型的模拟
## S3 method for class 'sir'
time_bins(x, middle = TRUE)
## S3 method for class 'sir'
median(x, na.rm = FALSE, ...)
## S3 method for class 'sir'
quantile(x, comp = c("NI", "NS", "NR"), prob, ...)
sir(graph, beta, gamma, no.sim = 100)
x |
一个 |
middle |
逻辑标量,是否返回时间箱的中间值或边界。 |
na.rm |
逻辑标量,是否忽略 |
... |
附加参数,目前被忽略。 |
comp |
字符标量。用于计算分位数的组件。 |
prob |
概率数值向量,在 [0,1] 中,它们指定要计算的分位数。 |
图 |
运行模型的图。如果是有向图,则忽略边方向,并给出警告。 |
beta |
非负标量。易感个体且具有单个感染邻居的感染率。具有 n 个感染邻居的易感个体的感染率是 beta 的 n 倍。形式上,这是指数分布的速率参数。 |
gamma |
正标量。感染个体的恢复率。形式上,这是指数分布的速率参数。 |
no.sim |
整数标量,要执行的模拟运行次数。 |
SIR 模型是流行病学中的一个简单模型。人口中的个体可能处于三种状态:易感、感染和康复。康复的人被认为是免疫疾病的。易感者以取决于其感染邻居数量的速率被感染。感染者以恒定的速率康复。
函数 sir
模拟该模型。
函数 time_bins
对模拟步骤进行分箱,使用 Freedman-Diaconis 启发式方法确定箱宽度。
函数 median
和 quantile
分别计算使用 time_bins
计算的箱中结果的中位数和分位数。
对于 sir
,结果以 ‘sir
’ 类的对象返回,该对象是一个列表,每个模拟一个元素。每个模拟本身是一个列表,包含以下元素。它们都是数值向量,长度相等
事件发生的时间。
人口中易感个体的数量,随时间变化。
人口中感染个体的数量,随时间变化。
人口中康复个体的数量,随时间变化。
函数 time_bins
返回一个数值向量,时间箱的中间值或边界,具体取决于 middle
参数。
median
返回三个命名数值向量的列表, NS
, NI
和 NR
。向量中的名称由时间箱创建。
如果仅请求一个分位数,则 quantile
返回与 median
相同的向量(但仅返回一个,即请求的那个)。如果请求多个分位数,则返回这些向量的列表,每个分位数一个。
Gabor Csardi csardi.gabor@gmail.com. Eric Kolaczyk (http://math.bu.edu/people/kolaczyk/) 在 R 中编写了初始版本。
Bailey, Norman T. J. (1975). The mathematical theory of infectious diseases and its applications (2nd ed.). London: Griffin.
plot.sir
用于方便地绘制结果
g <- sample_gnm(100, 100)
sm <- sir(g, beta=5, gamma=1)
plot(sm)