V(gg)$label=V(gg)#这个地方没加$name 然后节点就没有出现变量名称,系统自动给我编了一个数字好像是
是这样的么?
igraph文档的communities部分,
有个函数membership()通常可以给出一个对应节点社团编号的vector,
之后直接导出或者转成dataframe都可以
这是之前一个大神告诉我的,我的代码是这样的:
- library(network)
- g<-network::as.network.matrix(lianhe2)
- library(igraph)
- m<- as.matrix(lianhe2)#输入矩阵转换为matrix
- gg <- graph.adjacency(adjmatrix=m, mode="undirected", weighted=TRUE, diag=FALSE)#生成无向图,权重设置TRUE
- system.time(ec <- edge.betweenness.community(gg)) print(modularity(ec))V(gg)$size=4V(gg)$label=V(gg)#这个地方没加$name 然后节点就没有出现变量名称,系统自动给我编了一个数字好像是V(gg)$label.cex=0.4V(gg)$label.dist=0.7V(gg)$label.color="black"gg$layout<-layout.fruchterman.reingoldplot(ec, gg)#到这里就有那个图了membership(ec)#到这里就有下面那个表了a<-membership(ec)class(a)> write.csv(a,file = "C://Users//lanxin//Desktop//test//community2000-2004.csv")#到这里就不好了Error in as.data.frame.default(x[[i]], optional = TRUE) : cannot coerce class ‘"membership"’ to a data.frame> write.table(a, file="", append=FALSE, quote=TRUE, sep=" ", row.names=TRUE, col.names=TRUE)#这个还是不行Error in as.data.frame.default(x[[i]], optional = TRUE) : cannot coerce class ‘"membership"’ to a data.frame


雷达卡



京公网安备 11010802022788号







