Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

set_node_attr_w_fcn

Set node attribute values with a graph function


Description

From a graph object of class dgr_graph or a node data frame, set node attribute properties for all nodes in the graph using one of several whole-graph functions.

Usage

set_node_attr_w_fcn(graph, node_attr_fcn, ..., column_name = NULL)

Arguments

graph

A graph object of class dgr_graph.

node_attr_fcn

The name of the function to use for creating a column of node attribute values. Valid functions are: get_alpha_centrality(), get_authority_centrality(), get_betweenness(), get_bridging(), get_closeness(), get_cmty_edge_btwns(), get_cmty_fast_greedy(), get_cmty_l_eigenvec(), get_cmty_louvain(), get_cmty_walktrap(), get_constraint(), get_degree_distribution(), get_degree_histogram(), get_degree_in(), get_degree_out(), get_degree_total(), get_eccentricity(), get_eigen_centrality(), get_pagerank(), get_s_connected_cmpts(), and get_w_connected_cmpts().

...

Arguments and values to pass to the named function in node_attr_fcn, if necessary.

column_name

An option to supply a column name for the new node attribute column. If NULL then the column name supplied by the function will used along with a __A suffix.

Value

A graph object of class dgr_graph.

See Also

Examples

# Create a random graph using the
# `add_gnm_graph()` function
graph <-
  create_graph() %>%
  add_gnm_graph(
    n = 10,
    m = 22,
    set_seed = 23) %>%
  set_node_attrs(
    node_attr = value,
    values = rnorm(
      n = count_nodes(.),
      mean = 5,
      sd = 1) %>% round(1))

# Get the betweenness values for
# each of the graph's nodes as a
# node attribute
graph_1 <-
  graph %>%
  set_node_attr_w_fcn(
    node_attr_fcn = "get_betweenness")

# Inspect the graph's internal
# node data frame
graph_1 %>% get_node_df()

# If a specified function takes argument
# values, these can be supplied as well
graph_2 <-
  graph %>%
  set_node_attr_w_fcn(
    node_attr_fcn = "get_alpha_centrality",
    alpha = 2,
    exo = 2)

# Inspect the graph's internal
# node data frame
graph_2 %>% get_node_df()

# The new column name can be provided
graph_3 <-
  graph %>%
  set_node_attr_w_fcn(
    node_attr_fcn = "get_pagerank",
    column_name = "pagerank")

# Inspect the graph's internal
# node data frame
graph_3 %>% get_node_df()

# If `graph_3` is modified by
# adding a new node then the column
# `pagerank` will have stale data; we
# can run the function again and re-use
# the existing column name to provide
# updated values
graph_3 <-
  graph_3 %>%
  add_node(
    from = 1,
    to = 3) %>%
  set_node_attr_w_fcn(
    node_attr_fcn = "get_pagerank",
    column_name = "pagerank")

# Inspect the graph's internal
# node data frame
graph_3 %>% get_node_df()

DiagrammeR

Graph/Network Visualization

v1.0.6.1
MIT + file LICENSE
Authors
Richard Iannone [aut, cre] (<https://orcid.org/0000-0003-3925-190X>)
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.