利用R语言的igraph作社团挖掘的图
输入:网络拓扑文件(边);社区划分结果文件(顶点 社区号)
输出:社区划分的结果图
代码:
######测试代码######
if(T){
library(igraph)
library(grDevices)
rm(list=ls())
network=read.csv("./dataset/data/karate.txt",sep=" ",header=F)
community=read.csv("./result/lporigin_karate/2.1_of_1",sep="\t",header=F)
label=community[,2]#获取按顶点ID排序后的各顶点的标号
#将label中各顶点的社区号映射为颜色
ramp =colorRamp(c("red", "white","blue"));
ramp(seq(0, 1, length = length(unique(label))))
panel=rgb( ramp(seq(0, 1, length = length(unique(label)))), max = 255)#设定颜色,颜色数目等于社区数目
g = graph.data.frame(network,directed=F,vertices=community[,1])
map=rep(0,length(label))#产生一个全零向量
color=rep("",length(label))#存放每个顶点的颜色
index=1
for(i in unique(label)){
map[i]=index
index=index+1