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.
graph_from_graphnel(graphNEL, name = TRUE, weight = TRUE, unlist.attrs = TRUE)
The graphNEL graph.
Logical scalar, whether to add graphNEL vertex names as an
igraph vertex attribute called ‘name
’.
Logical scalar, whether to add graphNEL edge weights as an
igraph edge attribute called ‘weight
’. (graphNEL graphs are
always weighted.)
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.
graph_from_graphnel
returns an igraph graph object.
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.
as_graphnel
for the other direction,
as_adj
, graph_from_adjacency_matrix
,
as_adj_list
and graph.adjlist
for other
graph representations.
# NOT RUN {
## Undirected
g <- make_ring(10)
V(g)$name <- letters[1:10]
GNEL <- as_graphnel(g)
g2 <- graph_from_graphnel(GNEL)
g2
## Directed
g3 <- make_star(10, mode="in")
V(g3)$name <- letters[1:10]
GNEL2 <- as_graphnel(g3)
g4 <- graph_from_graphnel(GNEL2)
g4
# }
Run the code above in your browser using DataLab