如何在igraph中提取社区边缘列表?

时间:2017-10-22 14:41:20

标签: r social-networking

我使用igraph进行社区检测,当然它也会在图表中绘制社区。 我想要做的是将每个计算作为边缘列表写入文本文件中。不幸的是,我无法找到igraph中的任何功能。 有人可以帮我这个吗?

karate <- make_graph("Zachary")
wc <- cluster_walktrap(karate)

1 个答案:

答案 0 :(得分:2)

您可以获取诱导子图,将其转换为边缘列表并将其写出来。我假设你希望保留顶点的原始编号,所以我添加了一行来做到这一点。

## Your setup
library(igraph)
karate <- make_graph("Zachary")
wc <- cluster_walktrap(karate)

###########  Answer #########
for(i in seq_along(wc)) { 
    Community = induced_subgraph(karate, wc[[i]])
    V(Community)$name <- wc[[i]]        ## To preserve original node numbers
    EL = as_edgelist(Community)
    FileName = paste0("Community", i, ".dat")
    write.table(EL, FileName, row.names=FALSE, col.names=FALSE, sep=",")
}