Learn R Programming

DiagrammeR (version 0.8.2)

get_edges: 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

Run this code
## 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)

Run the code above in your browser using DataLab