get_edges {DiagrammeR}R Documentation

Get node IDs associated with edges

Description

Obtain a list, data frame, or vector of node IDs from a graph object or an edge data frame. An optional filter by edge attribute can limit the set of edges returned.

Usage

get_edges(x, edge_attr = NULL, match = NULL, return_type = "list")

Arguments

x

either a graph object of class dgr_graph that is created using create_graph or an edge data frame.

edge_attr

an optional character vector of edge attribute values for filtering the edges returned.

match

an option to provide a logical expression with a comparison operator (>, <, ==, or !=) followed by a number for numerical filtering, or, a character string for filtering the edges returned through string matching.

return_type

using list (the default) will provide a list object containing vectors of outgoing and incoming node IDs associated with edges. With df, a data frame containing outgoing and incoming node IDs associated with edges. With vector or string, a vector of character objects representing the edges is provided.

Value

a list, data frame, or a vector object, depending on the value given to return_type.

Examples

## Not run: 
# Before getting edges, create a simple graph
nodes <-
  create_nodes(nodes = c("a", "b", "c", "d"),
               type = "letter",
               color = c("red", "green", "grey", "blue"),
               value = c(3.5, 2.6, 9.4, 2.7))

edges <-
  create_edges(from = c("a", "b", "c"),
               to = c("d", "c", "a"),
               rel = "leading_to",
               color = c("pink", "blue", "red"),
               value = c(3.9, 2.5, 7.3))

graph <-
  create_graph(nodes_df = nodes,
               edges_df = edges)

# Get all edges within a graph, returned as a list
get_edges(graph)
#> [[1]]
#> [1] "a" "b" "c"
#>
#> [[2]]
#> [1] "d" "c" "a"

# Get all edges within a graph, returned as a data frame
get_edges(graph, return_type = "df")
#>   from to
#> 1    a  d
#> 2    b  c
#> 3    c  a

# Get all edges within a graph, returned as a vector
get_edges(graph, return_type = "vector")
#> [1] "a -> d" "b -> c" "c -> a"

# Get a vector of edges using a numeric
# comparison (i.e., all edges with 'value' attribute
# greater than 3)
get_edges(graph,
          edge_attr = "value",
          match = "> 3",
          return_type = "vector")
#> [1] "a -> d" "c -> a"

# Get a vector of edges using a match
get_edges(graph,
          edge_attr = "color",
          match = "pink",
          return_type = "vector")
#> [1] "a -> d"

## End(Not run)

[Package DiagrammeR version 0.8.2 Index]