centrality function

Calculate node and edge centrality

Calculate node and edge centrality

The centrality of a node measures the importance of node in the network. As the concept of importance is ill-defined and dependent on the network and the questions under consideration, many centrality measures exist. tidygraph provides a consistent set of wrappers for all the centrality measures implemented in igraph for use inside dplyr::mutate() and other relevant verbs. All functions provided by tidygraph have a consistent naming scheme and automatically calls the function on the graph, returning a vector with measures ready to be added to the node data. Further tidygraph

provides access to the netrankr engine for centrality calculations and define a number of centrality measures based on that, as well as provide a manual mode for specifying more-or-less any centrality score. These measures all only work on undirected graphs.

centrality_alpha( weights = NULL, alpha = 1, exo = 1, tol = 1e-07, loops = FALSE ) centrality_authority(weights = NULL, scale = TRUE, options = arpack_defaults()) centrality_betweenness( weights = NULL, directed = TRUE, cutoff = -1, normalized = FALSE ) centrality_power(exponent = 1, rescale = FALSE, tol = 1e-07, loops = FALSE) centrality_closeness( weights = NULL, mode = "out", normalized = FALSE, cutoff = NULL ) centrality_eigen( weights = NULL, directed = FALSE, scale = TRUE, options = arpack_defaults() ) centrality_hub(weights = NULL, scale = TRUE, options = arpack_defaults()) centrality_pagerank( weights = NULL, directed = TRUE, damping = 0.85, personalized = NULL ) centrality_subgraph(loops = FALSE) centrality_degree( weights = NULL, mode = "out", loops = TRUE, normalized = FALSE ) centrality_edge_betweenness(weights = NULL, directed = TRUE, cutoff = NULL) centrality_harmonic( weights = NULL, mode = "out", normalized = FALSE, cutoff = NULL ) centrality_manual(relation = "dist_sp", aggregation = "sum", ...) centrality_closeness_harmonic() centrality_closeness_residual() centrality_closeness_generalised(alpha) centrality_integration() centrality_communicability() centrality_communicability_odd() centrality_communicability_even() centrality_subgraph_odd() centrality_subgraph_even() centrality_katz(alpha = NULL) centrality_betweenness_network(netflowmode = "raw") centrality_betweenness_current() centrality_betweenness_communicability() centrality_betweenness_rsp_simple(rspxparam = 1) centrality_betweenness_rsp_net(rspxparam = 1) centrality_information() centrality_decay(alpha = 1) centrality_random_walk() centrality_expected()

Arguments

  • weights: The weight of the edges to use for the calculation. Will be evaluated in the context of the edge data.
  • alpha: Relative importance of endogenous vs exogenous factors (centrality_alpha), the exponent to the power transformation of the distance metric (centrality_closeness_generalised), the base of power transformation (centrality_decay), or the attenuation factor (centrality_katz)
  • exo: The exogenous factors of the nodes. Either a scalar or a number number for each node. Evaluated in the context of the node data.
  • tol: Tolerance for near-singularities during matrix inversion
  • loops: Should loops be included in the calculation
  • scale: Should the output be scaled between 0 and 1
  • options: Settings passed on to igraph::arpack()
  • directed: Should direction of edges be used for the calculations
  • cutoff: maximum path length to use during calculations
  • normalized: Should the output be normalized
  • exponent: The decay rate for the Bonacich power centrality
  • rescale: Should the output be scaled to sum up to 1
  • mode: How should edges be followed. Ignored for undirected graphs
  • damping: The damping factor of the page rank algorithm
  • personalized: The probability of jumping to a node when abandoning a random walk. Evaluated in the context of the node data.
  • relation: The indirect relation measure type to be used in netrankr::indirect_relations
  • aggregation: The aggregation type to use on the indirect relations to be used in netrankr::aggregate_positions
  • ...: Arguments to pass on to netrankr::indirect_relations
  • netflowmode: The return type of the network flow distance, either 'raw' or 'frac'
  • rspxparam: inverse temperature parameter

Returns

A numeric vector giving the centrality measure of each node.

Functions

  • centrality_alpha(): Wrapper for igraph::alpha_centrality()
  • centrality_authority(): Wrapper for igraph::authority_score()
  • centrality_betweenness(): Wrapper for igraph::betweenness()
  • centrality_power(): Wrapper for igraph::power_centrality()
  • centrality_closeness(): Wrapper for igraph::closeness()
  • centrality_eigen(): Wrapper for igraph::eigen_centrality()
  • centrality_hub(): Wrapper for igraph::hub_score()
  • centrality_pagerank(): Wrapper for igraph::page_rank()
  • centrality_subgraph(): Wrapper for igraph::subgraph_centrality()
  • centrality_degree(): Wrapper for igraph::degree() and igraph::strength()
  • centrality_edge_betweenness(): Wrapper for igraph::edge_betweenness()
  • centrality_harmonic(): Wrapper for igraph::harmonic_centrality()
  • centrality_manual(): Manually specify your centrality score using the netrankr framework (netrankr)
  • centrality_closeness_harmonic(): centrality based on inverse shortest path (netrankr)
  • centrality_closeness_residual(): centrality based on 2-to-the-power-of negative shortest path (netrankr)
  • centrality_closeness_generalised(): centrality based on alpha-to-the-power-of negative shortest path (netrankr)
  • centrality_integration(): centrality based on 1(x1)/max(x)1 - (x - 1)/max(x) transformation of shortest path (netrankr)
  • centrality_communicability(): centrality an exponential tranformation of walk counts (netrankr)
  • centrality_communicability_odd(): centrality an exponential tranformation of odd walk counts (netrankr)
  • centrality_communicability_even(): centrality an exponential tranformation of even walk counts (netrankr)
  • centrality_subgraph_odd(): subgraph centrality based on odd walk counts (netrankr)
  • centrality_subgraph_even(): subgraph centrality based on even walk counts (netrankr)
  • centrality_katz(): centrality based on walks penalizing distant nodes (netrankr)
  • centrality_betweenness_network(): Betweenness centrality based on network flow (netrankr)
  • centrality_betweenness_current(): Betweenness centrality based on current flow (netrankr)
  • centrality_betweenness_communicability(): Betweenness centrality based on communicability (netrankr)
  • centrality_betweenness_rsp_simple(): Betweenness centrality based on simple randomised shortest path dependencies (netrankr)
  • centrality_betweenness_rsp_net(): Betweenness centrality based on net randomised shortest path dependencies (netrankr)
  • centrality_information(): centrality based on inverse sum of resistance distance between nodes (netrankr)
  • centrality_decay(): based on a power transformation of the shortest path (netrankr)
  • centrality_random_walk(): centrality based on the inverse sum of expected random walk length between nodes (netrankr)
  • centrality_expected(): Expected centrality ranking based on exact rank probability (netrankr)

Examples

create_notable('bull') %>% activate(nodes) %>% mutate(importance = centrality_alpha()) # Most centrality measures are for nodes but not all create_notable('bull') %>% activate(edges) %>% mutate(importance = centrality_edge_betweenness())