##新冠肺炎传播## setwd("E:Rproject/survival analysis/input data") library(igraph) ##加载程序包 ##开始肺炎传播绘图 par(mfrow=c(2,2),mar=c(5,1,1,1)+0.1) a0=graph(c("17",17)) ##疫情中心 a1=graph(c("17",12,17,14,17,16,17,18,17,22,17,27),directed=T)##第一步传播0-1 a2=graph(c("17",12,17,14,17,16,17,18,17,22,17,27 ##0-1传播 ,12,10,12,11,12,14,12,15,12,16,12,17 ##1-2 12 ,14,11,14,12,14,13,14,17,14,18,14,19 ##1-2 14 ,16,3,16,4,16,12,16,15,16,17,16,27 ##1-2 16 ,18,14,18,17,18,19,18,20,18,22,18,24 ##1-2 18 ,22,17,22,18,22,23,22,24,22,27 ##1-2 22 ,27,4,27,5,27,16,27,17,27,22,27,23,27,28,27,30),directed=T)##第二步传播1-2 a=read.csv("0-1matrix.csv",header=FALSE);head(a) b=matrix(0,138,2); ##存放邻接关系的矩阵 k=1 ##计数器 for (i in 1:31){ for (j in 1:31){ if (a[i,j]==1){ b[k,1]=i b[k,2]=j k=k+1 } } } c=matrix(t(b),length(b),1) ##转换成一行矩阵 a3=graph(c,directed=T)##第一步传播2-3 plot(a0,edge.color=grey(0.4),edge.arrow.mode="->" ,edge.arrow.size=0.005,vertex.size=20 ,median = TRUE ,arrow.width=0.2,arrow.size=0.2,vertex.color="red" ,main="Epidemic transmission map A",sub="1 level-Epidemic Center" ) plot(a1,edge.color=grey(0.4),edge.arrow.mode="->" ,edge.arrow.size=0.005,vertex.size=20 ,arrow.width=0.2,arrow.size=0.2,vertex.color="pink" ,main="Epidemic transmission map B",sub="1-2 level") plot(a2,edge.color=grey(0.4),edge.arrow.mode="->" ,edge.arrow.size=0.005,vertex.size=20 ,arrow.width=0.2,arrow.size=0.2,vertex.color="yellow" ,main="Epidemic transmission map C",sub="2-3 level") plot(a3,edge.color=grey(0.4),edge.arrow.mode="->" ,edge.arrow.size=0.005,vertex.size=20 ,arrow.width=0.2,arrow.size=0.2,vertex.color="white" ,main="Epidemic transmission map D",sub="3-4 level")