Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

add_nodes_from_df_cols

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 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.

See Also

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()

DiagrammeR

Graph/Network Visualization

v1.0.6.1
MIT + file LICENSE
Authors
Richard Iannone [aut, cre] (<https://orcid.org/0000-0003-3925-190X>)
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.