我正在尝试创建一个网络动画,显示节点如何随时间改变状态。用例是 Covid-19 的接触者追踪。我使用基于代理的模型来模拟 Covid-19 的传播。从这里我提取了我的联系网络。我正在努力弄清楚 tsna 包如何更改每个时间片的节点颜色(疾病状态)。这是我的数据并尝试渲染:
# load libraries
require(sna)
require(tsna)
require(ndtv)
# get data
url <- "https://github.com/aterhorst/data/blob/master/dynamic_network.Rdata?raw=true"
download.file(url, destfile= "data/dynamic_network.Rdata", mode = "wb")
# load data
load("data/dynamic_network.Rdata")
# create a dynamic network object
nd <-networkDynamic(edge.spells = edges,
vertex.spells = nodes)
# render dynamic network object
compute.animation(nd,
animation.mode = "kamadakawai",
slice.par = list(
start = 1,
end = 12,
interval = 1,
aggregate.dur = 2,
rule = "any"))
render.d3movie(nd,
vertex.col = nodes$col,
displaylabels = TRUE)
因为我的基于代理的模型非常小,边缘在第 12 天左右消失。基本上,到那时每个人都已经接触过病毒,所以进一步的接触没有任何区别。我的模特不再关心了。您在我的示例中看到的是静态节点颜色。我想看到的是节点随着疾病状态而改变颜色。有人可以帮我解决这个问题吗?