用于R中的循环和绘图

时间:2017-05-18 16:08:58

标签: r for-loop plot

该程序是一个简单的流行病模拟器,除了一件事以外,大部分都是完成的。我希望在一个图上得到每个时间步的受感染数量(它可以是任何类型的图,最优选的是线图)。

这是整个剧本的关键部分:

 for (i in 1:simlength) {
  discordant.links <- which(infected[links[,1]]+infected[links[,2]]==1)
  transmit <- rbinom(length(discordant.links),1,p.t)
  transmitter.links <- discordant.links[transmit==1]
  nodes.of.transmitter.links <-   unique(as.vector(links[transmitter.links,1:2]))
  infected[nodes.of.transmitter.links] <- 1
  infected[infected==1] <- sample(c(1,2),length(infected[infected==1]),replace=TRUE,prob=c(1-p.r,p.r))
  if (plot.spread) {
    node.colour[infected==1] <- "red"
    node.colour[infected==2] <- "green"
    plot(network.i,layout=fixlayout, main=paste("Time =", i), vertex.color=node.colour)
 }
}

这为我绘制了一个关于感染如何在网络中传播的图表。 simlength是时间步长的总数。

我希望修改此算法,使其获得每个时间步的感染总数。请注意,红色节点([infected==1])是群体中受感染的个体。

0 个答案:

没有答案