Skip to contents

Within a graph's internal edge data frame (edf), copy the contents an existing edge attribute and create a distinct edge attribute within the edf with a different attribute name.

Usage

copy_edge_attrs(graph, edge_attr_from, edge_attr_to)

Arguments

graph

A graph object of class dgr_graph.

edge_attr_from

The name of the edge attribute column from which values will be copied.

edge_attr_to

The name of the new edge attribute column to which the copied values will be placed.

Value

A graph object of class dgr_graph.

Examples

# Create a random graph using the
# `add_gnm_graph()` function
graph <-
  create_graph() %>%
  add_gnm_graph(
    n = 5,
    m = 8,
    set_seed = 23) %>%
  set_edge_attrs(
    edge_attr = color,
    values = "green")

# Get the graph's internal
# edf to show which edge
# attributes are available
graph %>% get_edge_df()
#>   id from to  rel color
#> 1  1    1  3 <NA> green
#> 2  2    2  1 <NA> green
#> 3  3    2  5 <NA> green
#> 4  4    2  3 <NA> green
#> 5  5    3  2 <NA> green
#> 6  6    3  5 <NA> green
#> 7  7    3  4 <NA> green
#> 8  8    5  3 <NA> green

# Make a copy the `color`
# edge attribute as the
# `color_2` edge attribute
graph <-
  graph %>%
  copy_edge_attrs(
    edge_attr_from = color,
    edge_attr_to = color_2)

# Get the graph's internal
# edf to show that the edge
# attribute had been copied
graph %>% get_edge_df()
#>   id from to  rel color color_2
#> 1  1    1  3 <NA> green   green
#> 2  2    2  1 <NA> green   green
#> 3  3    2  5 <NA> green   green
#> 4  4    2  3 <NA> green   green
#> 5  5    3  2 <NA> green   green
#> 6  6    3  5 <NA> green   green
#> 7  7    3  4 <NA> green   green
#> 8  8    5  3 <NA> green   green