igraph (version 0.5.5-3)

bipartite.projection: Project a bipartite graph

Description

A bipartite graph is projected into two one-mode networks

Usage

bipartite.projection.size(graph, types=NULL)
bipartite.projection (graph, types=NULL, probe1=-1)

Arguments

graph
The input graph. It can be directed, but edge directions are ignored during the computation.
types
An optional vertex type vector to use instead of the type vertex attribute. You must supply this argument if the graph has no type vertex attribute.
probe1
This argument can be used to specify the order of the projections in the resulting list. If given and non-negative, then it is considered as a vertex id; the projection containing the first one in the result list.

Value

  • A list of two undirected graphs. See details above.

concept

  • Bipartite graph
  • Two-mode network

Details

Bipartite graphs have a type vertex attribute in igraph, this is boolean and FALSE for the vertices of the first kind and TRUE for vertices of the second kind.

bipartite.projection.size calculates the number of vertices and edges in the two projections of the bipartite graphs, without calculating the projections themselves. This is useful to check how much memory the projections would need if you have a large bipartite graph.

bipartite.projections calculates the actual projections. You can use the probe1 argument to specify the order of the projections in the result. By default vertex type FALSE is the first and TRUE is the second.

Examples

Run this code
## Projection of a full bipartite graph is a full graph
g <- graph.full.bipartite(10,5)
proj <- bipartite.projection(g)
graph.isomorphic(proj[[1]], graph.full(10))
graph.isomorphic(proj[[2]], graph.full(5))

Run the code above in your browser using DataLab