Learn R Programming

igraph (version 1.3.5)

is_bipartite: Create a bipartite graph

Description

A bipartite graph has two kinds of vertices and connections are only allowed between different kinds.

Usage

is_bipartite(graph)

make_bipartite_graph(types, edges, directed = FALSE)

bipartite_graph(...)

Value

make_bipartite_graph returns a bipartite igraph graph. In other words, an igraph graph that has a vertex attribute named type.

is_bipartite returns a logical scalar.

Arguments

graph

The input graph.

types

A vector giving the vertex types. It will be coerced into boolean. The length of the vector gives the number of vertices in the graph. When the vector is a named vector, the names will be attached to the graph as the name vertex attribute.

edges

A vector giving the edges of the graph, the same way as for the regular graph function. It is checked that the edges indeed connect vertices of different kind, according to the supplied types vector. The vector may be a string vector if types is a named vector.

directed

Whether to create a directed graph, boolean constant. Note that by default undirected graphs are created, as this is more common for bipartite graphs.

...

Passed to make_bipartite_graph.

Author

Gabor Csardi csardi.gabor@gmail.com

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.

make_bipartite_graph basically does three things. First it checks the edges vector against the vertex types. Then it creates a graph using the edges vector and finally it adds the types vector as a vertex attribute called type. edges may contain strings as vertex names; in this case, types must be a named vector that specifies the type for each vertex name that occurs in edges.

is_bipartite checks whether the graph is bipartite or not. It just checks whether the graph has a vertex attribute called type.

See Also

graph to create one-mode networks

Examples

Run this code

g <- make_bipartite_graph(rep(0:1, length.out=10), c(1:10))
print(g, v=TRUE)

Run the code above in your browser using DataLab