R igraph 手册页

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

membership {igraph}R 文档

用于处理网络社群检测结果的函数

描述

igraph 社群检测函数将其结果作为 communities 类的对象返回。此手册页描述了此类的操作。

用法

membership(communities)

## S3 method for class 'communities'
print(x, ...)

## S3 method for class 'communities'
modularity(x, ...)

## S3 method for class 'communities'
length(x)

sizes(communities)

algorithm(communities)

merges(communities)

crossing(communities, graph)

code_len(communities)

is_hierarchical(communities)

## S3 method for class 'communities'
as.dendrogram(object, hang = -1, use.modularity = FALSE, ...)

## S3 method for class 'communities'
as.hclust(x, hang = -1, use.modularity = FALSE, ...)

as_phylo(x, ...)

## S3 method for class 'communities'
as_phylo(x, use.modularity = FALSE, ...)

cut_at(communities, no, steps)

show_trace(communities)

## S3 method for class 'communities'
plot(
  x,
  y,
  col = membership(x),
  mark.groups = communities(x),
  edge.color = c("black", "red")[crossing(x, y) + 1],
  ...
)

参数

communities, x, object

一个 communities 对象,是 igraph 社群检测函数的结果。

...

附加参数。plot.communities 将这些参数传递给 plot.igraph。其他函数会静默地忽略它们。

一个 igraph 图对象,对应于 communities

hang

数值标量,指示应如何根据其父节点的高度计算叶子的高度;请参见 plot.hclust

use.modularity

逻辑标量,指示是否使用模块化值来定义分支的高度。

no

整数标量,表示所需的社群数量。如果太低或太高,则会给出错误消息。必须提供 nosteps 中的一个。

steps

执行的合并操作数以生成社群。必须提供 nosteps 中的一个。

y

一个 igraph 图对象,对应于 x 中的社群。

col

颜色向量,采用常规 R 绘图方法接受的任何格式。此向量显式地给出了顶点的颜色。

mark.groups

数字向量列表。可以使用彩色多边形突出显示社群。此处给出了绘制多边形的组。默认是使用社群给出的组。如果您不想突出显示任何组,请在此处提供 NULL

edge.color

边的颜色。默认情况下,社群内的边为绿色,其他边为红色。

membership

数值向量,每个顶点一个值,社群结构的成员向量。如果社群结构以另一种方式给出,例如通过合并矩阵,则也可能为 NULL

algorithm

如果不是 NULL(表示未知算法),则为字符标量,即生成社群结构的算法的名称。

merges

如果不是 NULL,则为分层社群结构的合并矩阵。有关其格式的更多信息,请参见下面的 merges

modularity

数值标量或向量,社群结构的模块化值。如果(最佳)分割的模块化不可用,则也可以为 NULL

详细信息

社群结构检测算法尝试通过优化某些标准并通常使用启发式方法来查找有向或无向图中的密集子图。

igraph 实现了许多社群检测方法(请参见下面的方法),所有这些方法都返回 communities 类的对象。因为社群结构检测算法不同,所以 communities 对象并不总是具有相同的结构。但是,它们有一些常见的操作,这些操作在此处进行了记录。

communities 定义了 print 泛型函数,它会打印一个简短的摘要。

可以在 communities 上调用 length 泛型函数,并返回社群的数量。

sizes 函数按其 ID 的顺序返回社群大小。

membership 给出了顶点到社群的划分。它返回一个数值向量,每个顶点一个值,即其社群的 ID。社群 ID 从 1 开始。请注意,某些算法计算社群的完整(或不完整)分层结构,而不仅仅是单个分区。对于这些算法,通常会返回最高模块化值的成员资格,但也请参见各个算法的手册页。

communities 也是一个函数的名称,该函数返回社群列表,每个社群都由其顶点标识。如果设置了 add.vertex.names igraph 选项,并且图本身已命名,则顶点将具有符号名称。否则,将使用数字顶点 ID。

modularity 给出了分区的模块化分数。(有关详细信息,请参见 modularity.igraph。对于不会导致单个分区的算法,将返回最高的模块化值。

algorithm 给出了用于计算社群结构的算法的名称。

crossing 返回一个逻辑向量,每个边一个值,根据边 ID 排序。当且仅当边根据 membership() 返回的(最佳)成员向量连接两个不同的社群时,该值为 TRUE

is_hierarchical 检查是否使用了分层算法来查找社群结构。某些函数仅对分层方法有意义(例如 mergescut_atas.dendrogram)。

merges 返回分层方法的合并矩阵。如果使用非分层方法查找社群结构,则会给出错误消息。您可以通过在 communities 对象上调用 is_hierarchical 来检查这一点。

cut_at 在所需位置切割分层社群查找方法的合并树,并返回一个成员向量。所需的位置可以表示为所需的社群数量或要进行的合并步骤的数量。如果使用非分层方法调用该函数,则会给出错误消息。

as.dendrogram 将分层社群结构转换为 dendrogram 对象。它仅适用于分层方法,并向其他方法给出错误消息。有关详细信息,请参见 dendrogram

as.hclustas.dendrogram 类似,但将分层社群结构转换为 hclust 对象。

as_phylo 将分层社群结构转换为 phylo 对象,您将需要 ape 包才能执行此操作。

show_trace(当前)仅适用于通过主导特征向量方法 (cluster_leading_eigen) 找到的社群,并返回一个字符向量,其中给出了算法在查找社群时执行的步骤。

为 InfoMAP 方法 (cluster_infomap) 定义了 code_len,并返回分区的代码长度。

可以在 communities 对象上调用 plot 函数。这将绘制图(并在内部使用 plot.igraph),并显示社群。默认情况下,它会根据顶点所属的社群对顶点进行着色,并标记与社群对应的顶点组。它将附加参数传递给 plot.igraph,请参阅该文档以及 igraph.plotting,了解如何更改绘图。

print 以不可见的方式返回 communities 对象本身。

length 返回一个整数标量。

sizes 返回一个数值向量。

membership 返回一个数值向量,图中的每个顶点一个数字,该图是社群检测的输入。

modularity 返回一个数值标量。

algorithm 返回一个字符标量。

crossing 返回一个逻辑向量。

is_hierarchical 返回一个逻辑标量。

merges 返回一个两列数值矩阵。

cut_at 返回一个数值向量,即顶点的成员向量。

as.dendrogram 返回一个 dendrogram 对象。

show_trace 返回一个字符向量。

code_len 返回使用 InfoMAP 方法找到的社群的数值标量,对于其他方法则返回 NULL

communities 对象的 plot 以不可见的方式返回 NULL

#' @author Gabor Csardi csardi.gabor@gmail.com

参见

有关绘制社群结构树状图,请参见 plot_dendrogram

有关比较同一图上的两个社群结构,请参见 compare

以下是查找社群的不同方法,它们都返回 communities 对象:cluster_edge_betweennesscluster_fast_greedycluster_label_propcluster_leading_eigencluster_louvaincluster_leidencluster_optimalcluster_spinglasscluster_walktrap

示例


karate <- make_graph("Zachary")
wc <- cluster_walktrap(karate)
modularity(wc)
membership(wc)
plot(wc, karate)


[包 igraph 版本 1.3.5 索引]