Generic function encoding undirected networks as 'graph6' symbol(s). See below for available methods.
Usage
as_graph6(object)
# S3 method for class 'matrix'
as_graph6(object)
# S3 method for class 'igraph'
as_graph6(object)
# S3 method for class 'network'
as_graph6(object)
# S3 method for class 'list'
as_graph6(object)
# Default S3 method
as_graph6(object)
Details
The 'graph6' format is designed for undirected graphs. Error is thrown in case it is given a directed graph.
Methods (by class)
as_graph6(matrix)
: Expectsobject
to be a square matrix which is interpreted as an adjacency matrix of an undirected graph. The function reads only the upper triangle of the matrix and there is no test whether the matrix is symmetric.as_graph6(igraph)
: Igraphobject
needs to be an undirected graph. Requires igraph package.as_graph6(network)
: Networkobject
needs to be a directed network. Requires network package.as_graph6(list)
: Ifobject
is a list the function is applied to each element. Consequently, it can be a list with a mixture of supported objects classes (adjacency matrices, igraph, or network objects).as_graph6(default)
: The default method throws an error about an unhandled class.
Examples
# From adjacency matrix ----------------------------------------------------
am <- matrix(c(
0,1,1,
1,0,0,
1,0,0
), byrow=TRUE, ncol=3)
as_graph6(am)
#> [1] "Bo"
# From igraph objects ------------------------------------------------------
if(requireNamespace("igraph", quietly=TRUE)) {
g <- igraph::graph_from_adjacency_matrix(am, mode = "undirected")
as_graph6(g)
}
#> [1] "Bo"
# From network objects -----------------------------------------------------
if(requireNamespace("network", quietly=TRUE)) {
net <- network::network(am, directed=FALSE)
as_graph6(net)
}
#> [1] "Bo"