我正在尝试创建一个网络动画,显示节点如何随着时间的推移而改变状态。使用案例是新冠肺炎的联系人跟踪。我使用了一个基于代理的模型来模拟新冠肺炎传播。我从中提取了我的联系网络。我正在努力弄清楚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天就消失了。基本上,到那时每个人都已经接触到了病毒,所以进一步接触没有什么不同。我的模特不再关心我了。您在我的示例中看到的是静态节点颜色。我想看到的是节点颜色随着疾病状态的变化。有没有人能帮我解决这个问题?
发布于 2021-03-26 07:18:36
我只是在networkDynamic语句中添加了以下内容:
nd <-networkDynamic(edge.spells = edges,
vertex.spells = nodes,
create.TEAs = TRUE)我试图指定vertex.TEA.names = "col",但却抛出了一些东西。省略它就解决了我的问题。
茶的事情非常令人费解,对于我这样的笨蛋来说,在线教程可以更好地解释这一点。这就是说,它是自由软件,我感谢sna/tsna/ndtv的创建者们的贡献。
https://stackoverflow.com/questions/66794523
复制相似问题