as_incidence_matrix: Incidence matrix of a bipartite graph In igraph: Network Analysis and Visualization

 as_incidence_matrix R Documentation

Incidence matrix of a bipartite graph

Description

This function can return a sparse or dense incidence matrix of a bipartite network. The incidence matrix is an `n` times `m` matrix, `n` and `m` are the number of vertices of the two kinds.

Usage

``````as_incidence_matrix(
graph,
types = NULL,
attr = NULL,
names = TRUE,
sparse = FALSE
)
``````

Arguments

 `graph` The input graph. The direction of the edges is ignored in directed graphs. `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. `attr` Either `NULL` or a character string giving an edge attribute name. If `NULL`, then a traditional incidence matrix is returned. If not `NULL` then the values of the given edge attribute are included in the incidence matrix. If the graph has multiple edges, the edge attribute of an arbitrarily chosen edge (for the multiple edges) is included. `names` Logical scalar, if `TRUE` and the vertices in the graph are named (i.e. the graph has a vertex attribute called `name`), then vertex names will be added to the result as row and column names. Otherwise the ids of the vertices are used as row and column names. `sparse` Logical scalar, if it is `TRUE` then a sparse matrix is created, you will need the `Matrix` package for this.

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.

Value

A sparse or dense matrix.

Author(s)

Gabor Csardi csardi.gabor@gmail.com

`graph_from_incidence_matrix()` for the opposite operation.

Other conversion: `as.directed()`, `as.matrix.igraph()`, `as_adj_list()`, `as_adjacency_matrix()`, `as_data_frame()`, `as_edgelist()`, `as_graphnel()`, `as_long_data_frame()`, `graph_from_adj_list()`, `graph_from_graphnel()`

Examples

``````
g <- make_bipartite_graph(c(0, 1, 0, 1, 0, 0), c(1, 2, 2, 3, 3, 4))
as_incidence_matrix(g)

``````

igraph documentation built on Aug. 10, 2023, 9:08 a.m.