此函数尝试通过直接优化模块化得分来查找密集子图,也称为图中的社区。
用法
cluster_fast_greedy(
graph,
merges = TRUE,
modularity = TRUE,
membership = TRUE,
weights = NULL
)
参数
- graph
输入图。它必须是无向的,并且不能有多重边。
- merges
逻辑标量,是否返回合并矩阵。
- modularity
逻辑标量,是否返回一个向量,其中包含每次合并后的模块化值。
- membership
逻辑标量,是否计算与最大模块化得分相对应的成员向量,考虑沿合并的所有可能的社区结构。
- weights
边的权重。它必须是正数值向量,
NULL
或NA
。如果它是NULL
并且输入图具有“weight”边属性,那么将使用该属性。如果为NULL
并且不存在这样的属性,则边将具有相等的权重。如果图有一个“weight”边属性,但您不想将其用于社区检测,请将其设置为NA
。较大的边权重意味着此函数的连接更强。
值
cluster_fast_greedy()
返回一个 communities()
对象,有关详细信息,请参阅 communities()
手册页。
详细信息
此函数实现了快速贪婪模块化优化算法来查找社区结构,有关详细信息,请参见 A Clauset, MEJ Newman, C Moore: Finding community structure in very large networks, http://www.arxiv.org/abs/cond-mat/0408187 。
参考文献
A Clauset, MEJ Newman, C Moore: Finding community structure in very large networks, http://www.arxiv.org/abs/cond-mat/0408187
参见
communities()
用于提取结果。
另请参见 cluster_walktrap()
, cluster_spinglass()
, cluster_leading_eigen()
和 cluster_edge_betweenness()
, cluster_louvain()
cluster_leiden()
用于其他方法。
社区检测 as_membership()
, cluster_edge_betweenness()
, cluster_fluid_communities()
, cluster_infomap()
, cluster_label_prop()
, cluster_leading_eigen()
, cluster_leiden()
, cluster_louvain()
, cluster_optimal()
, cluster_spinglass()
, cluster_walktrap()
, compare()
, groups()
, make_clusters()
, membership()
, modularity.igraph()
, plot_dendrogram()
, split_join_distance()
, voronoi_cells()
作者
Tamas Nepusz ntamas@gmail.com 和 Gabor Csardi csardi.gabor@gmail.com 用于 R 接口。
示例
g <- make_full_graph(5) %du% make_full_graph(5) %du% make_full_graph(5)
g <- add_edges(g, c(1, 6, 1, 11, 6, 11))
fc <- cluster_fast_greedy(g)
membership(fc)
#> [1] 3 3 3 3 3 1 1 1 1 1 2 2 2 2 2
sizes(fc)
#> Community sizes
#> 1 2 3
#> 5 5 5