# graph2SparseM

##### Coercion methods between graphs and sparse matrices

These functions provide coercions between objects that inherit from
the `graph`

class to sparse matrices from the `SparseM`

package.

- Keywords
- manip

##### Usage

```
graph2SparseM(g, useweights=FALSE)
sparseM2Graph(sM, nodeNames, edgemode=c("directed", "undirected"))
```

##### Arguments

- g
- An instance of the
`graph`

class. - useweights
- A logical value indicating whether to use the edge weights in the graph as values in the sparse matrix.
- sM
- A sparse matrix.
- nodeNames
- A
`character`

vector of the node names. - edgemode
- Specifies whether the graph to be created should have
directed (default) or undirected edges. If undirected, the input
matrix
`sM`

must be symmetric.

##### Details

A very simple coercion from one representation to another.

Currently it is presumed that the matrix is square. For other graph formats, such as bipartite graphs, some improvements will be needed; patches are welcome.

##### Value

`graph2SparseM`

takes as input an instance of a subclass of the
`graph`

class and returns a sparse matrix.`sparseM2Graph`

takes a sparse matrix as input and returns an
instance of the `graphNEL`

class. By default, the
`graphNEL`

returned will have directed edges.
##### See Also

`graph-class`

,
`graphNEL-class`

, and for
other conversions, `aM2bpG`

and `ftM2adjM`

##### Examples

```
set.seed(123)
g1 <- randomGraph(letters[1:10], 1:4, p=.3)
s1 <- graph2SparseM(g1, useweights=TRUE)
g2 <- sparseM2Graph(s1, letters[1:10], edgemode="undirected")
## consistency check
stopifnot(all.equal(g1, g2))
```

*Documentation reproduced from package graph, version 1.50.0, License: Artistic-2.0*

### Community examples

Looks like there are no examples yet.