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.
Usage
centrality_alpha(weights = NULL, alpha = 1, exo = 1, tol = 1e-07,
loops = FALSE)centrality_authority(weights = NULL, scale = TRUE,
options = igraph::arpack_defaults)
centrality_betweenness(weights = NULL, directed = TRUE,
cutoff = NULL, nobigint = TRUE, 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 = igraph::arpack_defaults)
centrality_hub(weights = NULL, scale = TRUE,
options = igraph::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_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
- nobigint
Should big integers be avoided 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
Value
A numeric vector giving the centrality measure of each node.
Functions
centrality_alpha
: Wrapper forigraph::alpha_centrality()
centrality_authority
: Wrapper forigraph::authority_score()
centrality_betweenness
: Wrapper forigraph::betweenness()
andigraph::estimate_betweenness()
centrality_power
: Wrapper forigraph::power_centrality()
centrality_closeness
: Wrapper forigraph::closeness()
andigraph::estimate_closeness()
centrality_eigen
: Wrapper forigraph::eigen_centrality()
centrality_hub
: Wrapper forigraph::hub_score()
centrality_pagerank
: Wrapper forigraph::page_rank()
centrality_subgraph
: Wrapper forigraph::subgraph_centrality()
centrality_degree
: Wrapper forigraph::degree()
andigraph::strength()
centrality_edge_betweenness
: Wrapper forigraph::edge_betweenness()
centrality_manual
: Manually specify your centrality score using thenetrankr
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 - (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
# NOT RUN {
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())
# }