R: Add graphs, nodes, or edges to a tbl_graph

bind_graphs {tidygraph} | R Documentation

## Add graphs, nodes, or edges to a tbl_graph

### Description

These functions are tbl_graph pendants to `dplyr::bind_rows()` that allows you to grow your `tbl_graph` by adding rows to either the nodes data, the edges data, or both. As with `bind_rows()` columns are matched by name and are automatically filled with `NA` if the column doesn't exist in some instances. In the case of `bind_graphs()` the graphs are automatically converted to `tbl_graph` objects prior to binding. The edges in each graph will continue to reference the nodes in the graph where they originated, meaning that their terminal node indexes will be shifted to match the new index of the node in the combined graph. This means the `bind_graphs()` always result in a disconnected graph. See `graph_join()` for merging graphs on common nodes.

### Usage

    bind_graphs(.data, ...)

    bind_nodes(.data, ...)

    bind_edges(.data, ..., node_key = "name")

### Arguments

`.data` | A `tbl_graph`, or a list of `tbl_graph` objects (for `bind_graphs()`).
`...` | In case of `bind_nodes()` and `bind_edges()` data.frames to add. In the case of `bind_graphs()` objects that are convertible to `tbl_graph` using `as_tbl_graph()`.
`node_key` | The name of the column in `nodes` that character represented `to` and `from` columns should be matched against. If `NA` the first column is always chosen. This setting has no effect if `to` and `from` are given as integers.

### Value

A `tbl_graph` containing the new data

### Examples

    graph <- create_notable('bull')
    new_graph <- create_notable('housex')

    # Add nodes
    graph %>% bind_nodes(data.frame(new = 1:4))

    # Add edges
    graph %>% bind_edges(data.frame(from = 1, to = 4:5))

    # Add graphs
    graph %>% bind_graphs(new_graph)

[Package tidygraph version 1.2.0 Index]