add_edges_w_string {DiagrammeR} | R Documentation

## Add one or more edges using a text string

### Description

With a graph object of class `dgr_graph`, add one or more edges to the graph using a text string.

### Usage

    add_edges_w_string(graph, edges, rel = NULL, use_labels = FALSE)

### Arguments

`graph` | a graph object of class `dgr_graph`.
`edges` | a single-length vector with a character string specifying the edges. For a directed graph, the string object should be formatted as a series of node ID values as `[node_ID_1]->[node_ID_2]` separated by a one or more space characters. For undirected graphs, `--` should replace `->`. Line breaks in the vector won't cause an error.
`rel` | an optional vector specifying the relationship between the connected nodes.
`use_labels` | an option to use node `label` values in the `edges` string to define node connections. Note that this is only possible if all nodes have distinct `label` values set and none exist as an empty string.

### Value

a graph object of class `dgr_graph`.

### Examples

    # Create a graph with 4 nodes
    graph <-
      create_graph() %>%
      add_node(label = "one") %>%
      add_node(label = "two") %>%
      add_node(label = "three") %>%
      add_node(label = "four")

    # Add edges between nodes using a
    # character string with node ID values
    graph_node_id <-
      graph %>%
      add_edges_w_string(
        edges = "1->2 1->3 2->4 2->3")

    # Show the graph's internal edge data frame
    get_edge_df(graph_node_id)
    #>   id from to  rel
    #> 1  1    1  2 <NA>
    #> 2  2    1  3 <NA>
    #> 3  3    2  4 <NA>
    #> 4  4    2  3 <NA>

    # Add edges between nodes using a
    # character string with node label values
    # and setting `use_labels = TRUE`; note
    # that all nodes must have unique `label`
    # values to use this option
    graph_node_label <-
      graph %>%
      add_edges_w_string(
        edges =
          "one->two one->three
           two->four two->three",
        use_labels = TRUE)

    # Show the graph's internal edge data frame
    # (it's the same as before)
    get_edge_df(graph_node_label)
    #>   id from to  rel
    #> 1  1    1  2 <NA>
    #> 2  2    1  3 <NA>
    #> 3  3    2  4 <NA>
    #> 4  4    2  3 <NA>

[Package DiagrammeR version 0.9.2 Index]