r - 在 R 中设置检测到的社区的大小

标签 r igraph

我正在使用 igraph 社区检测,社区大小要么太小,要么太大。有没有办法指定检测到的社区的大小?如果没有,我有什么办法可以手动拆分或合并从 igraph 检测到的社区吗?谢谢!

最佳答案

虽然我认为不可能设置/指定 igraph 检测到的社区的大小 ,一些社区检测算法允许您指定您想要的数量个社区(分割/合并的替代方法)。

您可以使用cluster_spinglass()功能及设置spins是所需的社区数量。 或者使用一种分层方法,然后使用 cut_at()要获得所需数量的社区,请使用 no参数来指定您想要多少个社区。

示例代码:

# Set up your graph object
g <-[an igraph object] # set up your graph

# Use spinglass to create a set number of communities
sg <- g %>% cluster_spinglass(spins = 10) # produces 10 communities using spinglass algorithm

# Use hierarchical methods and cut_at to create a set number of communities 
walk <- g %>% cluster_walktrap() %>% cut_at(no = 10) 
eb <- g %>% cluster_edge_betweenness() %>% cut_at(no = 10)

请注意 spinglass方法会给你返回一个communities对象,而 cut_at方法只是返回图中所有节点的社区索引(即一个简单的数字向量)。

您可以在 communities 上找到更多详细信息help page .

关于r - 在 R 中设置检测到的社区的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38896546/

相关文章:

删除数据框中的镜像线

python - 从单个 jupyter/ipython 单元绘制多个 python-igraph 图

使用子集对数据进行排名

r - R 中 KKNN 包中的最近邻在使用整个数据集时给出垃圾索引值

r - R包iGraph中的循环

r - 在igraph中添加图例以注释差异顶点大小

r - 从另一个数据帧更新数据帧行和列的子集

r - 如何记录 R6 类的 S3 泛型?

r - 如何在我的 R Shiny 应用程序中显示使用 rcharts 创建的图表?

r - R 行中观察值一起出现的频率