中国R语言社区R语言与统计分析数据科学与R语言

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方法:

cnames <- c('a','b','c','d','e')                                                                                           g <- graph.adjacency(cell,mode="undirected")

plot(g,vertex.label=cnames)#绘出图像

结果2
上一篇下一篇

猜你喜欢

热点阅读