Create graphs from an incidence matrix
graph.incidence creates a bipartite igraph graph
from an incidence matrix.
graph.incidence(incidence, directed = FALSE, mode = c("all", "out", "in", "total"), multiple = FALSE, weighted = NULL, add.names = NULL)
- The input incidence matrix. It can also be a sparse
matrix from the
- Logical scalar, whether to create a directed graph.
- A character constant, defines the direction of the edges
in directed graphs, ignored for undirected graphs. If
, then edges go from vertices of the first kind (corresponding to rows in the incidence matrix) to
- Logical scalar, specifies how to interpret the matrix elements. See details below.
- This argument specifies whether to create a weighted
graph from the incidence matrix. If it is
NULLthen an unweighted graph is created and the
multipleargument is used to determine the edges of the graph. If it is a
- A character constant,
graph.incidencecan add the row and column names of the incidence matrix as vertex attributes. If this argument is
NULL(the default) and the incidence matri
Bipartite graphs have a
FALSE for the vertices of the first
TRUE for vertices of the second kind.
graph.incidence can operate in two modes, depending on the
multiple argument. If it is
FALSE then a single edge is
created for every non-zero element in the incidence matrix. If
TRUE, then the matrix elements are rounded up
to the closest non-negative integer to get the number of edges to
create between a pair of vertices.
- A bipartite igraph graph. In other words, an igraph graph that has a
- Bipartite graph
- Two-mode network
graph.bipartite for another way to create
inc <- matrix(sample(0:1, 15, repl=TRUE), 3, 5) colnames(inc) <- letters[1:5] rownames(inc) <- LETTERS[1:3] graph.incidence(inc)