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]