# graph_from_incidence_matrix

From igraph v1.0.0
by Gabor Csardi

##### Create graphs from an incidence matrix

`graph_from_incidence_matrix`

creates a bipartite igraph graph from an incidence
matrix.

- Keywords
- graphs

##### Usage

```
graph_from_incidence_matrix(incidence, directed = FALSE, mode = c("all",
"out", "in", "total"), multiple = FALSE, weighted = NULL,
add.names = NULL)
```from_incidence_matrix(...)

##### Arguments

- incidence
- The input incidence matrix. It can also be a sparse matrix
from the
`Matrix`

package. - directed
- Logical scalar, whether to create a directed graph.
- mode
- 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 vertices of`out`

- multiple
- Logical scalar, specifies how to interpret the matrix elements. See details below.
- weighted
- This argument specifies whether to create a weighted graph
from the incidence matrix. If it is
`NULL`

then an unweighted graph is created and the`multiple`

argument is used to determine the edges of the graph. If it is a character c - add.names
- A character constant,
`NA`

or`NULL`

.`graph_from_incidence_matrix`

can add the row and column names of the incidence matrix as vertex attributes. If this argument is`NULL`

(the default) and the incidence matri - ...
- Passed to
`graph_from_incidence_matrix`

.

##### Details

Bipartite graphs have a `type`

`FALSE`

for the vertices of the first kind and
`TRUE`

for vertices of the second kind.

`graph_from_incidence_matrix`

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
`multiple`

is `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.

##### Value

- A bipartite igraph graph. In other words, an igraph graph that has a
vertex attribute
`type`

.

##### See Also

`make_bipartite_graph`

for another way to create bipartite
graphs

##### Examples

```
inc <- matrix(sample(0:1, 15, repl=TRUE), 3, 5)
colnames(inc) <- letters[1:5]
rownames(inc) <- LETTERS[1:3]
graph_from_incidence_matrix(inc)
```

*Documentation reproduced from package igraph, version 1.0.0, License: GPL (>= 2)*

### Community examples

Looks like there are no examples yet.