R语言中igraph包使用心得(邻接矩阵)
2020-03-30 本文已影响0人
云之彼端
先导入igraph包:
library(igraph)
igraph包最简单的用法就是graph方法,两句代码就完成绘制
如下所示,1的loop表示为(1,1),1和2之间有3条edge,表示为(1,2,1,2,1,2)
结果g <- graph(c(1,1,1,2,1,2,1,2,1,5,2,3,2,4,2,5,3,3,3,4,3,4,3,4,4,5),directed = FALSE) plot(g)
如果顶点的邻接矩阵表示,仍以上图为例:
则对1,1有loop,与2有条edge,与5有一条edge,所以邻接矩阵的第一行为
(1,3,0,0,1);类似地,可以得出邻接矩阵的第2、3、4、5行;
按列输入上述矩阵:
cell <- c(1,3,0,0,1,3,0,1,1,1,0,1,1,3,0,0,1,3,0,1,1,1,0,1,0) cell <- matrix(cell,5,5,byrow=T)
使用adjacency方法:
结果2cnames <- c('a','b','c','d','e') g <- graph.adjacency(cell,mode="undirected")
plot(g,vertex.label=cnames)#绘出图像