A bipartite graph has two kinds of vertices and connections are only allowed between different kinds.
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 suppliedtypes
vector. The vector may be a string vector iftypes
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()
.
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.
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
Bipartite graphs
bipartite_mapping()
,
bipartite_projection()
Author
Gabor Csardi csardi.gabor@gmail.com