coerce-methods-graph {Matrix} | R Documentation |
Conversions "graph" <–> (sparse) Matrix
Description
Since 2005, package Matrix has supported coercions to and
from class graph
from package
graph.
Since 2013, this functionality has been exposed via functions
T2graph
and graph2T
, which, unlike methods for
as(from, "<Class>")
, support optional arguments.
Usage
graph2T(from, use.weights = )
T2graph(from, need.uniq = !isUniqueT(from), edgemode = NULL)
Arguments
from |
for |
use.weights |
logical indicating if weights should be used, i.e.,
equivalently the result will be numeric, i.e. of class
|
need.uniq |
a logical indicating if |
edgemode |
one of |
Value
For graph2T()
, a sparse matrix inheriting from
"TsparseMatrix"
.
For T2graph()
an R object of class "graph"
.
See Also
Package igraph, which provides similar coercions
to and from its class igraph
via functions
graph_from_adjacency_matrix
and as_adjacency_matrix
.
Examples
if(requireNamespace("graph")) {
n4 <- LETTERS[1:4]; dns <- list(n4,n4)
show(a1 <- sparseMatrix(i= c(1:4), j=c(2:4,1), x = 2, dimnames=dns))
show(g1 <- as(a1, "graph")) # directed
unlist(graph::edgeWeights(g1)) # all '2'
show(a2 <- sparseMatrix(i= c(1:4,4), j=c(2:4,1:2), x = TRUE, dimnames=dns))
show(g2 <- as(a2, "graph")) # directed
# now if you want it undirected:
show(g3 <- T2graph(as(a2,"TsparseMatrix"), edgemode="undirected"))
show(m3 <- as(g3,"Matrix"))
show( graph2T(g3) ) # a "pattern Matrix" (nsTMatrix)
a. <- sparseMatrix(i=4:1, j=1:4, dimnames=list(n4, n4), repr="T") # no 'x'
show(a.) # "ngTMatrix"
show(g. <- as(a., "graph"))
}