我正在使用 R 编程在复杂网络中寻找有影响力的节点。我想使用度中心性,这意味着一个节点在图中的邻居数量。我有一个图表和每个节点的度中心性。现在我想知道当我们开始从每个节点传播病毒时,在指定时间内会有多少节点被感染。根据我的研究,我应该使用我在“igraph”包中找到的 SIR(易感、感染、恢复)流行病模型,问题是我无法指定起始节点。似乎这个函数基于 SIR 方程工作:
s'= -(beta)SI
I' = (beta)SI - (gamma)I
R' = (gamma)I
其中 beta 是感染参数,gamma 是恢复参数。这是 igraph SIR 代码:
function (graph, beta, gamma, no.sim = 100)
{
if (!is_igraph(graph)) {
stop("Not a graph object")
}
beta <- as.numeric(beta)
gamma <- as.numeric(gamma)
no.sim <- as.integer(no.sim)
on.exit(.Call("R_igraph_finalizer", PACKAGE = "igraph"))
res <- .Call("R_igraph_sir", graph, beta, gamma, no.sim,
PACKAGE = "igraph")
class(res) <- "sir"
res
}
似乎大部分工作都在“R_igraph_sir”中完成,但我在那个包中找不到这样的功能。有没有办法设置起始节点?