R 中的模拟空间数据表示

Simulated spatial data representation in R

我想可视化以下模拟数据集:

time <- seq(1,10)
N.1 <- c(0,0,0,0,0,0,0,0,0,0)
N.2 <- c(0,0,0,0,0,0,0,0,0,0)
N.3 <- c(0,0,0,0,0,0,0,0,0,1)
N.4 <- c(0,1,5,6,10,1,2,2,6,7)
N.5 <- c(0,0,0,0,0,0,0,0,0,0)
N.6 <- c(0,0,1,0,0,0,0,0,0,0)
N.7 <- c(0,1,1,2,2,4,6,6,6,3)
result_snip <- data.frame(time,N.1,N.2,N.3,N.4,N.5,N.6, N.7)

随着时间的推移,该模拟跟踪了 7 个人群中的一个人群中受感染的个体数量。人口以循环方式连接。

(使用 igraph 包创建的图像)

我想创建一个图表,粗略显示每个人群中的感染人数,同时显示人群的连通性。例如,节点的大小或它们的颜色可能与感染人数成正比。但是,对于可视化此数据集的最佳方式,我愿意接受任何建议。

感谢您考虑这个问题。

我想你可以试试下面的代码

g <- make_ring(length(result_snip) - 1) %>%
  set_vertex_attr(name = "name", value = names(result_snip)[-1])

g_layout <- layout_nicely(g)

apply(
  result_snip,
  1,
  function(v) {
    g %>%
      set_vertex_attr(name = "color", value = v[-1] != 0) %>%
      set_vertex_attr(name = "size", value = 10 + v[-1]) %>%
      plot(main = paste0(names(v[1]),"=", v[1]), layout = g_layout)
  }
)

这将生成一系列图,其中一个看起来像