add_grid_2d {DiagrammeR} | R Documentation |
With a graph object of class
dgr_graph
, add a two-dimensional
grid to the graph.
add_grid_2d(graph, x, y, type = NULL, label = TRUE, rel = NULL, ...)
graph |
a graph object of class
|
x |
the number of nodes in the x direction. |
y |
the number of nodes in the y direction. |
type |
an optional string that describes the entity type for the nodes to be added. |
label |
either a vector object
of length |
rel |
an optional string for providing a relationship label to all new edges created in the grid. |
... |
optional node attributes supplied as vectors. |
a graph object of class
dgr_graph
.
# Create a new graph and add # a 3 x 3 grid graph <- create_graph() %>% add_grid_2d( x = 3, y = 3, type = "grid") # Get node information # from this graph node_info(graph) #> id type label deg indeg outdeg loops #> 1 1 grid 1 2 0 2 0 #> 2 2 grid 2 3 1 2 0 #> 3 3 grid 3 2 1 1 0 #> 4 4 grid 4 3 1 2 0 #> 5 5 grid 5 4 2 2 0 #> 6 6 grid 6 3 2 1 0 #> 7 7 grid 7 2 1 1 0 #> 8 8 grid 8 3 2 1 0 #> 9 9 grid 9 2 2 0 0 # Attributes can be specified # in extra arguments and these # are applied in order; Usually # these attributes are applied # to nodes (e.g., `type` is a # node attribute) but the `rel` # attribute will apply to the # edges graph_w_attrs <- create_graph() %>% add_grid_2d( x = 3, y = 2, label = c("one", "two", "three", "four", "five", "six"), type = c("a", "a", "b", "b", "c", "c"), value = c(1.2, 8.4, 3.4, 5.2, 6.1, 2.6), rel = "grid") # Get the graph's node data frame get_node_df(graph_w_attrs) #> id type label value #> 1 1 a one 1.2 #> 2 2 a two 8.4 #> 3 3 b three 3.4 #> 4 4 b four 5.2 #> 5 5 c five 6.1 #> 6 6 c six 2.6 # Get the graph's edge data frame get_edge_df(graph_w_attrs) #> id from to rel #> 1 1 1 2 grid #> 2 2 1 4 grid #> 3 3 2 3 grid #> 4 4 2 5 grid #> 5 5 3 6 grid #> 6 6 4 5 grid #> 7 7 5 6 grid