# NOT RUN {
# With `create_graph()` we can simply create an
# empty graph (and add in nodes and edges later,
# with other functions)
graph <- create_graph()
# A graph can be created with nodes and
# without edges; this is usually done in 2 steps:
# 1. create a node data frame (ndf) using the
# `create_node_df()` function
ndf <- create_node_df(n = 4)
# 2. create the graph object with `create_graph()`
# and pass in the ndf to `nodes_df`
graph <- create_graph(nodes_df = ndf)
# Get information on the graph's nodes
node_info(graph)
#> id type label deg indeg outdeg loops
#> 1 1 <NA> <NA> 0 0 0 0
#> 2 2 <NA> <NA> 0 0 0 0
#> 3 3 <NA> <NA> 0 0 0 0
#> 4 4 <NA> <NA> 0 0 0 0
# You can create a similar graph with just nodes but
# also provide a range of attributes for the nodes
# (e.g., types, labels, arbitrary 'values')
ndf <-
create_node_df(
n = 4,
label = TRUE,
type = c("type_1", "type_1",
"type_5", "type_2"),
shape = c("circle", "circle",
"rectangle", "rectangle"),
values = c(3.5, 2.6, 9.4, 2.7))
graph <- create_graph(nodes_df = ndf)
# Get information on the graph's internal node
# data frame (ndf)
get_node_df(graph)
#> id type label shape values
#> 1 1 type_1 1 circle 3.5
#> 2 2 type_1 2 circle 2.6
#> 3 3 type_5 3 rectangle 9.4
#> 4 4 type_2 4 rectangle 2.7
# A graph can also be created by specifying both
# the nodes and edges; create an edge data frame
# (edf) using the `create_edge_df()` function:
edf <-
create_edge_df(
from = c(1, 2, 3),
to = c(4, 3, 1),
rel = "leading_to",
values = c(7.3, 2.6, 8.3))
# 2. create the graph object with `create_graph()`
# and pass in the ndf and edf
graph <-
create_graph(
nodes_df = ndf,
edges_df = edf)
# Get information on the graph's internal edge
# data frame (edf)
get_edge_df(graph)
#> id from to rel values
#> 1 1 1 4 leading_to 7.3
#> 2 2 2 3 leading_to 2.6
#> 3 3 3 1 leading_to 8.3
# Get information on the graph's internal node
# data frame (ndf)
get_node_df(graph)
#> id type label shape values
#> 1 1 type_1 1 circle 3.5
#> 2 2 type_1 2 circle 2.6
#> 3 3 type_5 3 rectangle 9.4
#> 4 4 type_2 4 rectangle 2.7
# }
Run the code above in your browser using DataCamp Workspace