Node and Edge Selection
Graph nodes or edges can be selected with these functions. This is useful because some of the Graph Modification functions (ending with “_ws“) and all of the Graph Traversal functions can make use of the stored selections.
|
select_nodes
|
Select nodes in a graph |
select_nodes_by_id
|
Select nodes in a graph by ID values |
select_nodes_by_degree
|
Select nodes in the graph based on their degree
values |
select_nodes_in_neighborhood
|
Select nodes based on a walk distance from a
specified node |
select_last_nodes_created
|
Select the last set of nodes created in a graph |
select_edges
|
Select edges in a graph |
select_edges_by_node_id
|
Select edges in a graph using node ID values |
select_edges_by_edge_id
|
Select edges in a graph using edge ID values |
select_last_edges_created
|
Select the last set of edges created in a graph |
get_selection
|
Get the current selection available in a graph
object |
deselect_nodes
|
Deselect any selected nodes in a graph |
deselect_edges
|
Deselect any selected edges in a graph |
invert_selection
|
Invert selection of nodes or edges in a graph |
clear_selection
|
Clear a selection of nodes or edges in a graph |
Graph Modification
These functions make changes to the graph. We can change many aspects of the graph: the graph representation itself (e.g., adding or removing nodes and edges), or, the attributes of the nodes and edges (in terms of associated data and aesthetics).
|
add_node
|
Add a node to an existing graph object |
add_n_nodes
|
Add one or several unconnected nodes to the graph |
add_n_nodes_ws
|
Add a multiple of new nodes with edges to or from
one or more selected nodes |
add_node_df
|
Add nodes from a node data frame to an existing
graph object |
add_n_node_clones
|
Add one or several clones of an existing node to the graph |
add_node_clones_ws
|
Add clones of a selection of nodes |
add_nodes_from_table
|
Add nodes and attributes to graph from a table |
add_nodes_from_df_cols
|
Add nodes from distinct values in data frame columns |
add_edge
|
Add an edge between nodes in a graph object |
add_edge_df
|
Add edges from an edge data frame
to an existing graph object |
add_edges_w_string
|
Add one or more edges using a text string |
add_edge_clone
|
Add a clone of an existing edge to the graph |
add_forward_edges_ws
|
Add new edges with identical definitions as with a
selection of edges |
add_reverse_edges_ws
|
Add new edges in the opposite directions of a
selection of edges |
fully_connect_nodes_ws
|
Fully connect all nodes in a selection of nodes |
add_edges_from_table
|
Add edges and attributes to graph
from a table |
add_path
|
Add a path of nodes to the graph |
add_cycle
|
Add a cycle of nodes to the graph |
add_balanced_tree
|
Add a balanced tree to the graph |
add_star
|
Add a star of nodes to the graph |
add_prism
|
Add a prism of nodes to the graph |
add_full_graph
|
Add a fully connected graph |
add_grid_2d
|
Add a 2D grid of nodes to the graph |
add_grid_3d
|
Add a 3D grid of nodes to the graph |
add_gnm_graph
|
Add a G(n, m) Erdos-Renyi graph |
add_gnp_graph
|
Add a G(n, p) Erdos-Renyi graph |
add_pa_graph
|
Add a preferential attachment graph |
add_growing_graph
|
Create a random growing graph with m edges added per step |
add_smallworld_graph
|
Add a Watts-Strogatz small-world graph |
add_islands_graph
|
Create a random islands graph with edges between the islands |
delete_node
|
Delete a node from an existing graph object |
delete_nodes_ws
|
Delete all selected nodes in a node selection |
delete_edge
|
Delete an edge from an existing graph object |
delete_edges_ws
|
Delete all selected edges in an edge selection |
delete_loop_edges_ws
|
Delete all loop edges associated with a selection of nodes |
fully_disconnect_nodes_ws
|
Fully disconnect all nodes in a selection of nodes |
rev_edge_dir
|
Reverse the direction of all edges in a graph |
rev_edge_dir_ws
|
Reverse the direction of selected edges in a graph |
set_node_attrs
|
Set node attribute values |
set_node_attrs_ws
|
Set node attributes with a node selection |
join_node_attrs
|
Join new node attribute values using a data frame |
rescale_node_attrs
|
Rescale numeric node attribute values |
copy_node_attrs
|
Copy a node attribute column and set the name |
rename_node_attrs
|
Rename a node attribute |
drop_node_attrs
|
Drop a node attribute column |
mutate_node_attrs
|
Mutate a set of node attribute values |
mutate_node_attrs_ws
|
Mutate node attribute values for a selection of nodes |
colorize_node_attrs
|
Apply colors based on node attribute values |
recode_node_attrs
|
Recode a set of node attribute values |
set_df_as_node_attr
|
Set a data frame as a node attribute |
set_node_position
|
Apply a layout position to a single node |
layout_nodes_w_string
|
Layout nodes using a text-based schematic |
nudge_node_positions_ws
|
Move layout positions of a selection of nodes |
set_node_attr_w_fcn
|
Set node attribute values with a graph function |
set_edge_attrs
|
Set edge attribute values |
set_edge_attrs_ws
|
Set edge attributes with an edge selection |
join_edge_attrs
|
Join new edge attribute values using a data frame |
rescale_edge_attrs
|
Rescale numeric edge attribute values |
copy_edge_attrs
|
Copy an edge attribute column and set the name |
rename_edge_attrs
|
Rename an edge attribute |
drop_edge_attrs
|
Drop an edge attribute column |
mutate_edge_attrs
|
Mutate a set of edge attribute values |
mutate_edge_attrs_ws
|
Mutate edge attribute values for a selection of edges |
colorize_edge_attrs
|
Apply colors based on edge attribute values |
recode_edge_attrs
|
Recode a set of edge attribute values |
set_df_as_edge_attr
|
Set a data frame as an edge attribute |
node_data
|
Insert node data attributes during node creation |
node_aes
|
Insert node aesthetic attributes during node creation |
edge_data
|
Insert edge data attributes during edge creation |
edge_aes
|
Insert edge aesthetic attributes during edge creation |
Graph Inspection
Sometimes, you’ll need to gather information about the working graph. This collection of functions allows for extraction of graph components (e.g., ndfs and edfs), attribute information, counts, node and edge properties, and more.
|
get_node_df
|
Get a node data frame from a graph |
get_node_df_ws
|
Get the graph's ndf filtered by a selection of nodes |
get_node_info
|
Get detailed information on nodes |
get_last_nodes_created
|
Get the last set of nodes created in a graph |
get_node_attrs
|
Get node attribute values |
get_node_attrs_ws
|
Get node attribute values from a selection of nodes |
get_degree_distribution
|
Get total degree distribution data for a graph |
get_degree_histogram
|
Get histogram data for a graph's degree frequency |
get_edge_df
|
Get an edge data frame from a graph |
get_edge_df_ws
|
Get the graph's edf filtered by a selection of edges |
get_edge_info
|
Get detailed information on edges |
get_last_edges_created
|
Get the last set of edges created in a graph |
get_edge_attrs
|
Get edge attribute values |
get_edge_attrs_ws
|
Get edge attribute values |
get_node_ids
|
Get a vector of node ID values |
get_nbrs
|
Get all neighbors of one or more nodes |
get_common_nbrs
|
Get all common neighbors between two or more nodes |
get_non_nbrs
|
Get non-neighbors of a node in a graph |
get_similar_nbrs
|
Get neighboring nodes based on node attribute
similarity |
get_predecessors
|
Get node IDs for predecessor nodes to the specified
node |
get_successors
|
Get node IDs for successor nodes to the specified
node |
get_all_connected_nodes
|
Get all nodes connected to a specified node |
get_articulation_points
|
Get articulation points |
get_periphery
|
Get nodes that form the graph periphery |
get_edge_ids
|
Get a vector of edge ID values |
get_edges
|
Get node IDs associated with edges |
get_paths
|
Get paths from a specified node in a directed graph |
do_dfs
|
Use the depth-first search (dfs) algorithm |
do_bfs
|
Use the breadth-first search (bfs) algorithm |
get_attr_dfs
|
Get data frames bound to node attributes |
count_nodes
|
Get a count of all nodes |
count_edges
|
Get a count of all edges |
count_loop_edges
|
Get count of all loop edges |
count_mutual_node_pairs
|
Get the number of mutually-connected
node pairs |
count_asymmetric_node_pairs
|
Get the number of asymmetrically-connected node pairs |
count_automorphisms
|
Get the number of automorphisms |
count_unconnected_nodes
|
Get count of all unconnected nodes |
count_unconnected_node_pairs
|
Get the number of unconnected node pairs |
count_w_connected_cmpts
|
Get the number of weakly-connected components |
count_s_connected_cmpts
|
Get the number of strongly-connected components |
get_multiedge_count
|
Get the count of multiple edges |
get_edge_count_w_multiedge
|
Get count of edge definitions where multiple edges occur |
get_agg_degree_in
|
Get an aggregate value from the indegree of nodes |
get_agg_degree_out
|
Get an aggregate value from the outdegree of nodes |
get_agg_degree_total
|
Get an aggregate value from the total degree of nodes |
get_mean_distance
|
Get the mean distance |
get_min_eccentricity
|
Get the minimum graph eccentricity |
get_max_eccentricity
|
Get the maximum graph eccentricity |
get_reciprocity
|
Get the graph reciprocity |
get_girth
|
Get graph girth |
get_adhesion
|
Get graph adhesion |
get_min_cut_between
|
Get the minimum cut between source and sink nodes |
get_degree_in
|
Get indegree values for all nodes |
get_degree_out
|
Get outdegree values for all nodes |
get_degree_total
|
Get total degree values for all nodes |
get_betweenness
|
Get betweenness centrality scores |
get_closeness
|
Get closeness centrality values |
get_pagerank
|
Get the PageRank values for all nodes |
get_alpha_centrality
|
Get the alpha centrality for all nodes |
get_eigen_centrality
|
Get the eigen centrality for all nodes |
get_authority_centrality
|
Get the authority scores for all nodes |
get_leverage_centrality
|
Get leverage centrality |
get_radiality
|
Get radiality centrality scores |
get_eccentricity
|
Get node eccentricities |
get_coreness
|
Get coreness values for graph nodes |
get_constraint
|
Get constraint scores for one or more graph nodes |
get_closeness_vitality
|
Get closeness vitality |
get_bridging
|
Get bridging scores |
get_dice_similarity
|
Get Dice similarity coefficient scores |
get_jaccard_similarity
|
Get Jaccard similarity coefficient scores |
get_w_connected_cmpts
|
Get all nodes associated with connected components |
get_s_connected_cmpts
|
Get nodes within strongly connected components |
get_cmty_edge_btwns
|
Get community membership by edge betweenness |
get_cmty_walktrap
|
Get community membership using the Walktrap method |
get_cmty_louvain
|
Get community membership by Louvain optimization |
get_cmty_l_eigenvec
|
Get community membership by leading eigenvector |
get_cmty_fast_greedy
|
Get community membership by modularity optimization |
is_node_present
|
Determine whether a specified node is present |
is_edge_present
|
Determine whether a specified edge is present |
is_edge_loop
|
Is the edge a loop edge? |
is_edge_multiple
|
Is the edge a multiple edge? |
is_edge_mutual
|
Is the edge mutual with another edge? |
is_graph_empty
|
Is the graph empty? |
is_graph_directed
|
Is the graph a directed graph? |
is_graph_undirected
|
Is the graph an undirected graph? |
is_graph_simple
|
Is the graph a simple graph? |
is_graph_weighted
|
Is the graph a weighted graph? |
is_graph_connected
|
Is the graph a connected graph? |
is_graph_dag
|
Is the graph a directed acyclic graph? |
is_property_graph
|
Is the graph a property graph? |
Graph Traversal
Traversing the graph is useful if you have a defined graph model and you’d like to explore the connections and relationships between nodes and edges. Traversals effectively modify a selection of nodes or edges. With the modified selection, we can extract related attributes and work with them.
|
trav_out
|
Traverse from one or more selected nodes onto
adjacent, outward nodes |
trav_in
|
Traverse from one or more selected nodes onto
adjacent, inward nodes |
trav_both
|
Traverse from one or more selected nodes onto
neighboring nodes |
trav_out_edge
|
Traverse from one or more selected nodes onto
adjacent, outward edges |
trav_in_edge
|
Traverse from one or more selected nodes onto
adjacent, inward edges |
trav_both_edge
|
Traverse from one or more selected nodes onto
adjacent edges |
trav_out_node
|
Traverse from one or more selected edges onto
adjacent, outward nodes |
trav_in_node
|
Traverse from one or more selected edges onto
adjacent, inward nodes |
trav_out_until
|
Traverse outward node-by_node until stopping conditions are met |
trav_in_until
|
Traverse inward node-by_node until stopping conditions are met |
trav_reverse_edge
|
Traverse to any reverse edges |