# 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 for`igraph::alpha_centrality()`

`centrality_authority`

: Wrapper for`igraph::authority_score()`

`centrality_betweenness`

: Wrapper for`igraph::betweenness()`

and`igraph::estimate_betweenness()`

`centrality_power`

: Wrapper for`igraph::power_centrality()`

`centrality_closeness`

: Wrapper for`igraph::closeness()`

and`igraph::estimate_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_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 - (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())
# }
```

*Documentation reproduced from package tidygraph, version 1.1.2, License: MIT + file LICENSE*