好吧,我有一个这样的文件。

 5 1211 11
 18 25 11
 12 281 11
 522 569 11
 46 269 11
 46 1854 11
 544 2324 11
 544 1955 11
 10 795 11
 246 982 11
 37 1500 11
 2 1154 11
 11 911 11
 200 281 11
 512 663 11
 197 663 11
 181 202 11
 1 124 11
 14 636 11
 14 1616 11
 578 1743 11

前两列表示节点(人员),第三列表示它们在一段时间内发送消息时遵循的特定模式(在本例中相同)这些节点实际上代表在同一办公室工作的人现在,我给他们画了一张图
现在,我使用community命令和算法walktrap.community using R,我得到的图形是,
我真的很想知道这些分组是什么意思。我知道它们是根据模块性进行分组的。但这些分组实际上代表什么呢?
我在很多研究论文上读到过这个,但没有发现任何相关的东西。

最佳答案

不确定这是你要的,但是…
社区是网络集群的一种形式。基本思想是,给定社区中的节点(顶点)与该社区中的其他节点的“连接”比与其他社区中的节点的“连接”更紧密。在您的简单示例中,节点46连接到节点269和1854,但这三个节点没有连接到任何其他节点,因此它们形成一个社区。类似地,节点11和911彼此连接,但不与任何其他节点连接,因此它们形成一个社区。“更多连接”的定义取决于用于识别社区(进行聚类)的算法。
编辑对OP评论的回应。
从文档中:
此函数尝试查找紧密连接的子图,也称为
随机游动图中的社区我的想法是
散步往往停留在同一个社区。
下面是一个例子:

library(igraph)
# create a sample graph
g <- graph.full(5)
for (i in 0:3) {
  g <- g %du% graph.full(5)
  g <- add.edges(g,c(5*i+1,5*(i+1)+1))
}

wc <- walktrap.community(g)
colors <- rainbow(max(membership(wc)))
set.seed(1)   # for reproducible layout
plot(g,vertex.color=colors[membership(wc)],
     layout=layout.fruchterman.reingold)

在本例中,每个子组(community)都是高度互连的,虽然集群彼此连接,但它们的互连程度较低因此,从节点1-5开始的随机游走比到达其他任何节点更可能在这些节点之间循环。因此,节点1-5形成一个社区。
详细描述了该算法。

关于r - 用图论解释社区结构,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24716746/

10-12 22:38