跳到内容

二分图有两种类型的顶点,连接只允许在不同类型之间进行。

用法

make_bipartite_graph(types, edges, directed = FALSE)

bipartite_graph(...)

参数

types

一个向量,给出顶点类型。它将被强制转换为布尔值。向量的长度给出了图中顶点的数量。当向量是一个命名向量时,名称将作为 name 顶点属性附加到图上。

edges

一个向量,给出图的边,与常规 make_graph() 函数相同。它会检查边是否确实连接了不同类型的顶点,根据提供的 types 向量。如果 types 是一个命名向量,该向量可能是一个字符串向量。

directed

是否创建有向图,布尔常量。请注意,默认情况下会创建无向图,因为这对于二分图更为常见。

...

传递给 make_bipartite_graph()

make_bipartite_graph() 返回一个二分的 igraph 图。换句话说,一个具有名为 type 的顶点属性的 igraph 图。

is_bipartite() 返回一个逻辑标量。

详细信息

二分图在igraph中具有type顶点属性,这是一个布尔值,第一类顶点为FALSE,第二类顶点为TRUE

make_bipartite_graph() 基本上做了三件事。首先,它对照顶点 types 检查 edges 向量。然后,它使用 edges 向量创建一个图,最后它将 types 向量添加为名为 type 的顶点属性。edges 可能包含字符串作为顶点名称;在这种情况下,types 必须是一个命名向量,它为 edges 中出现的每个顶点名称指定类型。

参见

make_graph() 用于创建单模网络

二分图 bipartite_mapping(), bipartite_projection(), is_bipartite()

作者

Gabor Csardi csardi.gabor@gmail.com

示例


g <- make_bipartite_graph(rep(0:1, length.out = 10), c(1:10))
print(g, v = TRUE)
#> IGRAPH e58e5ef U--B 10 5 -- 
#> + attr: type (v/l)
#> + edges from e58e5ef:
#> [1] 1-- 2 3-- 4 5-- 6 7-- 8 9--10