Convert graphNEL objects from the graph package to igraph
Source:R/conversion.R
graph_from_graphnel.Rd
The graphNEL class is defined in the graph
package, it is another
way to represent graphs. graph_from_graphnel()
takes a graphNEL
graph and converts it to an igraph graph. It handles all
graph/vertex/edge attributes. If the graphNEL graph has a vertex
attribute called ‘name
’ it will be used as igraph vertex
attribute ‘name
’ and the graphNEL vertex names will be
ignored.
Arguments
- graphNEL
The graphNEL graph.
- name
Logical scalar, whether to add graphNEL vertex names as an igraph vertex attribute called ‘
name
’.- weight
Logical scalar, whether to add graphNEL edge weights as an igraph edge attribute called ‘
weight
’. (graphNEL graphs are always weighted.)- unlist.attrs
Logical scalar. graphNEL attribute query functions return the values of the attributes in R lists, if this argument is
TRUE
(the default) these will be converted to atomic vectors, whenever possible, before adding them to the igraph graph.
Details
Because graphNEL graphs poorly support multiple edges, the edge attributes of the multiple edges are lost: they are all replaced by the attributes of the first of the multiple edges.
See also
as_graphnel()
for the other direction,
as_adjacency_matrix()
, graph_from_adjacency_matrix()
,
as_adj_list()
and graph_from_adj_list()
for other
graph representations.
Other conversion:
as.matrix.igraph()
,
as_adj_list()
,
as_adjacency_matrix()
,
as_biadjacency_matrix()
,
as_data_frame()
,
as_directed()
,
as_edgelist()
,
as_graphnel()
,
as_long_data_frame()
,
graph_from_adj_list()
Examples
## Undirected
g <- make_ring(10)
V(g)$name <- letters[1:10]
GNEL <- as_graphnel(g)
g2 <- graph_from_graphnel(GNEL)
g2
#> IGRAPH a8a2471 UNW- 10 10 -- Ring graph
#> + attr: name (g/c), mutual (g/l), circular (g/l), name (v/c), weight
#> | (e/n)
#> + edges from a8a2471 (vertex names):
#> [1] a--b a--j b--c c--d d--e e--f f--g g--h h--i i--j
## Directed
g3 <- make_star(10, mode = "in")
V(g3)$name <- letters[1:10]
GNEL2 <- as_graphnel(g3)
g4 <- graph_from_graphnel(GNEL2)
g4
#> IGRAPH 958e88b DNW- 10 9 -- In-star
#> + attr: name (g/c), mode (g/c), center (g/n), name (v/c), weight (e/n)
#> + edges from 958e88b (vertex names):
#> [1] b->a c->a d->a e->a f->a g->a h->a i->a j->a