R igraph 手册页

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

bipartite_projection {igraph}R 文档

投影二分图

描述

将二分图投影成两个单模网络

用法

bipartite_projection(
  graph,
  types = NULL,
  multiplicity = TRUE,
  probe1 = NULL,
  which = c("both", "true", "false"),
  remove.type = TRUE
)

参数

输入图。它可以是有向图,但在计算过程中会忽略边的方向。

types

一个可选的顶点类型向量,用于代替 'type' 顶点属性。如果图形没有 'type' 顶点属性,则必须提供此参数。

multiplicity

如果为 TRUE,则 igraph 将边的重数保留为一个名为“weight”的边属性。例如,如果二分图中存在 A-C-B 和 A-D-B 三元组(但没有更多 X,使得 A-X-B 也在图中),则投影中 A-B 边的重数将为 2。

probe1

此参数可用于指定结果列表中投影的顺序。如果给定,则将其视为顶点 ID(或符号顶点名称);包含此顶点的投影将是结果列表中的第一个。如果参数 which 中仅请求一个投影,则此参数将被忽略。

which

一个字符标量,用于指定要计算的投影。默认是计算两者。

remove.type

逻辑标量,是否从投影中删除 type 顶点属性。这是有道理的,因为这些图不再是二分的。但是,如果要将它们彼此组合(或其他二分图),则值得保留此属性。默认情况下,它将被删除。

详细信息

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

bipartite_projection_size 计算二分图的两个投影中的顶点和边的数量,而不计算投影本身。 如果您有一个大型二分图,这有助于检查投影需要多少内存。

bipartite_projection 计算实际的投影。 您可以使用 probe1 参数来指定结果中投影的顺序。 默认情况下,顶点类型 FALSE 是第一个,TRUE 是第二个。

bipartite_projection 保留顶点属性。

两个无向图的列表。 请参阅上面的详细信息。

作者

Gabor Csardi csardi.gabor@gmail.com

示例


## Projection of a full bipartite graph is a full graph
g <- make_full_bipartite_graph(10,5)
proj <- bipartite_projection(g)
graph.isomorphic(proj[[1]], make_full_graph(10))
graph.isomorphic(proj[[2]], make_full_graph(5))

## The projection keeps the vertex attributes
M <- matrix(0, nrow=5, ncol=3)
rownames(M) <- c("Alice", "Bob", "Cecil", "Dan", "Ethel")
colnames(M) <- c("Party", "Skiing", "Badminton")
M[] <- sample(0:1, length(M), replace=TRUE)
M
g2 <- graph_from_incidence_matrix(M)
g2$name <- "Event network"
proj2 <- bipartite_projection(g2)
print(proj2[[1]], g=TRUE, e=TRUE)
print(proj2[[2]], g=TRUE, e=TRUE)


[包 igraph 版本 1.3.5 索引]