add_nodes_from_df_cols {DiagrammeR} | R Documentation

## Add nodes from distinct values in data frame columns

### Description

Add new nodes to a graph object of class `dgr_graph` using distinct values from one or more columns in a data frame. The values will serve as node labels and the number of nodes added depends on the number of distinct values found in the specified columns.

### Usage

    add_nodes_from_df_cols(graph, df, columns, type = NULL,
      keep_duplicates = FALSE)

### Arguments

`graph` | a graph object of class `dgr_graph`.
`df` | a data frame from which values will be taken as new nodes for the graph.
`columns` | a character vector of column names or a numeric vector of column numbers for the data frame supplied in `df`. The distinct values in these columns will serve as labels for the nodes added to the graph.
`type` | an optional, single-length character vector that provides a group identifier for the nodes to be added to the graph.
`keep_duplicates` | an option to exclude incoming nodes where the any labels (i.e., values found in columns of the specified `df`) match label values available in the graph's nodes. By default, this is set to `FALSE`.

### Value

a graph object of class `dgr_graph`.

### Examples

    # Create an empty graph
    graph <- create_graph()

    # Create a data frame from
    # which several columns have
    # values designated as graph nodes
    df <-
      data.frame(
        col_1 = c("f", "p", "q"),
        col_2 = c("q", "x", "f"),
        col_3 = c(1, 5, 3),
        col_4 = c("a", "v", "h"),
        stringsAsFactors = FALSE)

    # Add nodes from columns `col_1`
    # and `col_2` from the data frame
    # to the graph object
    graph <-
      graph %>%
      add_nodes_from_df_cols(
        df = df,
        columns = c("col_1", "col_2"))

    # Show the graph's node data
    # frame; duplicate labels are
    # prevented with `keep_duplicates =
    # FALSE`)
    graph %>%
      get_node_df()

    # Add new nodes from columns 3 and 4;
    # We can specify the columns by their
    # numbers as well
    graph <-
      graph %>%
      add_nodes_from_df_cols(
        df = df,
        columns = 3:4)

    # Show the graph's node data
    # frame; note that nodes didn't
    # get made with columns that
    # are not character class columns
    graph %>%
      get_node_df()

[Package DiagrammeR version 1.0.1 Index]