R igraph 手册页

如果您从 R 中使用 igraph,请使用此选项

time_bins.sir {igraph}R 文档

图上的 SIR 模型

描述

在图上运行 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

一个 sir 对象,由 sir 函数返回。

middle

逻辑标量,是否返回时间箱的中间值或边界。

na.rm

逻辑标量,是否忽略 NA 值。 sir 对象目前不包含任何 NA 值,因此此参数实际上被忽略。

...

附加参数,目前被忽略。

comp

字符标量。用于计算分位数的组件。 NI 是感染个体, NS 是易感个体, NR 代表康复个体。

prob

概率数值向量,在 [0,1] 中,它们指定要计算的分位数。

运行模型的图。如果是有向图,则忽略边方向,并给出警告。

beta

非负标量。易感个体且具有单个感染邻居的感染率。具有 n 个感染邻居的易感个体的感染率是 beta 的 n 倍。形式上,这是指数分布的速率参数。

gamma

正标量。感染个体的恢复率。形式上,这是指数分布的速率参数。

no.sim

整数标量,要执行的模拟运行次数。

详细信息

SIR 模型是流行病学中的一个简单模型。人口中的个体可能处于三种状态:易感、感染和康复。康复的人被认为是免疫疾病的。易感者以取决于其感染邻居数量的速率被感染。感染者以恒定的速率康复。

函数 sir 模拟该模型。

函数 time_bins 对模拟步骤进行分箱,使用 Freedman-Diaconis 启发式方法确定箱宽度。

函数 medianquantile 分别计算使用 time_bins 计算的箱中结果的中位数和分位数。

对于 sir,结果以 ‘sir’ 类的对象返回,该对象是一个列表,每个模拟一个元素。每个模拟本身是一个列表,包含以下元素。它们都是数值向量,长度相等

times

事件发生的时间。

NS

人口中易感个体的数量,随时间变化。

NI

人口中感染个体的数量,随时间变化。

NR

人口中康复个体的数量,随时间变化。

函数 time_bins 返回一个数值向量,时间箱的中间值或边界,具体取决于 middle 参数。

median 返回三个命名数值向量的列表, NSNINR。向量中的名称由时间箱创建。

如果仅请求一个分位数,则 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)

[包 igraph 版本 1.3.5 索引]