R igraph 手册页

如果您从 R 中使用 igraph,请使用此选项

cluster_edge_betweenness {igraph}R 文档

基于边介数的社区结构检测

描述

许多网络由模块组成,这些模块自身密集连接,但与其他模块的连接稀疏。

用法

cluster_edge_betweenness(
  graph,
  weights = NULL,
  directed = TRUE,
  edge.betweenness = TRUE,
  merges = TRUE,
  bridges = TRUE,
  modularity = TRUE,
  membership = TRUE
)

参数

要分析的图。

weights

边的权重。它必须是一个正数向量,NULLNA。如果它是 NULL 并且输入图具有 'weight' 边属性,则将使用该属性。如果 NULL 并且不存在此类属性,则边将具有相等的权重。如果图有一个 'weight' 边属性,但您不想将其用于社区检测,请将其设置为 NA。边权重用于计算加权边介数。这意味着边被解释为距离,而不是连接强度。

有向

逻辑常量,是否为有向图计算有向边介数。对于无向图,它将被忽略。

edge.betweenness

逻辑常量,是否返回删除时边的边介数。

merges

逻辑常量,是否返回表示网络分层社区结构的合并矩阵。即使社区结构算法本身是分裂式的而不是凝聚式的,此参数也称为 merges:它从上到下构建树。矩阵中每一行代表一个合并(即拆分),第一行是第一个合并(最后一个拆分)。社区由从一开始的整数标识。小于或等于 N 的社区 ID(图中顶点的数量)属于单例社区,即单个顶点。在第一次合并之前,我们有 N 个社区,编号从 1 到 N。第一次合并,矩阵的第一行创建社区 N+1,第二次合并创建社区 N+2,等等。

bridges

逻辑常量,是否返回实际拆分图的组件的边移除列表。

modularity

逻辑常量,是否计算最大模块化得分,考虑沿基于边介数的边移除的所有可能的社区结构。

membership

逻辑常量,是否计算与最高可能模块化得分相对应的成员向量。

详细信息

边的边介数得分衡量通过它的最短路径的数量,有关详细信息,请参见 edge_betweenness。基于边介数的社区结构检测的思想是,连接单独模块的边可能具有高边介数,因为从一个模块到另一个模块的所有最短路径都必须穿过它们。因此,如果我们逐渐删除具有最高边介数得分的边,我们将获得一个层次结构图,一个有根树,称为图的树状图。树的叶子是各个顶点,树的根代表整个图。

cluster_edge_betweenness 通过计算图的边介数来执行此算法,删除具有最高边介数得分的边,然后重新计算边的边介数,并再次删除具有最高得分的边,等等。

edge.betweeness.community 返回通过算法运行收集的各种信息。请参阅下面的返回值。

cluster_edge_betweenness 返回一个 communities 对象,有关详细信息,请参见 communities 手册页。

作者

Gabor Csardi csardi.gabor@gmail.com

参考

M Newman and M Girvan: Finding and evaluating community structure in networks, Physical Review E 69, 026113 (2004)

参见

edge_betweenness 用于定义和计算边介数, cluster_walktrap, cluster_fast_greedy, cluster_leading_eigen 用于其他社区检测方法。

请参阅 communities 以提取社区检测的结果。

示例


g <- sample_pa(100, m = 2, directed = FALSE)
eb <- cluster_edge_betweenness(g)

g <- make_full_graph(10) %du% make_full_graph(10)
g <- add_edges(g, c(1,11))
eb <- cluster_edge_betweenness(g)
eb


[包 igraph 版本 1.3.5 索引]