# centralization

##### Centralization of a graph.tmax

Centralization is a method for creating a graph level centralization measure from the centrality scores of the vertices.

- Keywords
- graphs

##### Usage

`centralize.scores (scores, theoretical.max, normalized = TRUE)`centralization.degree (graph, mode = c("all", "out", "in", "total"),
loops = TRUE, normalized = TRUE)
centralization.closeness (graph, mode = c("out", "in", "all", "total"),
normalized = TRUE)
centralization.betweenness (graph, directed = TRUE, nobigint = TRUE,
normalized = TRUE)
centralization.evcent (graph, directed = FALSE, scale = TRUE,
options = igraph.arpack.default, normalized = TRUE)

centralization.degree.tmax (graph = NULL, nodes = 0,
mode = c("all", "out", "in", "total"), loops = FALSE)
centralization.closeness.tmax (graph = NULL, nodes = 0,
directed = TRUE)
centralization.betweenness.tmax (graph = NULL, nodes = 0,
directed = TRUE)
centralization.evcent.tmax (graph = NULL, nodes = 0,
directed = FALSE, scale = TRUE)

##### Arguments

- scores
- The vertex level centrality scores.
- theoretical.max
- Real scalar. The graph level centrality score
of the most centralized graph with the same number of vertices as
the graph under study. This is only used if the
`normalized`

argument is set to`TRUE`

. - normalized
- Logical scalar. Whether to normalize the graph level centrality score by dividing the supplied theoretical maximum.
- graph
- The input graph. For the
tmax functions it can be`NULL`

, see the details below. - mode
- This is the same as the
`mode`

argument of`degree`

and`closeness`

. - loops
- Logical scalar, whether to consider loops edges when calculating the degree.
- directed
- logical scalar, whether to use directed shortest paths for calculating betweenness.
- nobigint
- Logical scalar, whether to use big integers for the
betweenness calculation. This argument is passed to the
`betweenness`

function. - scale
- Whether to rescale the eigenvector centrality scores, such that the maximum score is one.
- nodes
- The number of vertices. This is ignored if the graph is given.
- options
- This is passed to
`evcent`

, the options for the ARPACK eigensolver.

##### Details

Centralization is a general method for calculating a graph-level centrality score based on node-level centrality measure. The formula for this is

$$C(G)=\sum_v (\max_w c_w - c_v),$$ where $c_v$ is the centrality of vertex $v$.

The graph-level centrality score can be normalized by dividing by the maximum theoretical score for a graph with the same number of vertices, using the same parameters, e.g. directedness, whether we consider loop edges, etc.

For degree, closeness and betweenness the most centralized structure is some version of the star graph, in-star, out-star or undirected star.

For eigenvector centrality the most centralized structure is the graph with a single edge (and potentially many isolates).

`centralize.scores`

using the general centralization formula to
calculate a graph-level score from vertex-level scores.

`centralization.degree`

, `centralization.closeness`

,
`centralization.betweenness`

calculate both the vertex-level and
the graph-level indices.

`centralization.degree.tmax`

,
`centralization.closeness.tmax`

,
`centralization.betweenness.tmax`

and
`centralization.evcent.tmax`

return the theoretical maximum
scores. They operate in two modes. In the first mode, a graph is given
and the maximum score is calculated based on that. E.g. the number of
vertices and directedness is taken from this graph.

The other way to call these functions is to omit the
`graph`

argument, but explicitly specify the rest of the
arguments.

##### Value

- For
`centralize.scores`

a real scalar.For

`centralization.degree`

,`centralization.closeness`

and`centralization.betweenness`

a named list with the following components: res The node-level centrality scores. centralization The graph level centrality index. theoretical_max The maximum theoretical graph level centralization score for a graph with the given number of vertices, using the same parameters. If the `normalized`

argument was`TRUE`

, then the result was divided by this number.- For
`centralization.evcent`

a named list with the following components: vector The node-level centrality scores. value The corresponding eigenvalue. options ARPACK options, see the return value of `evcent`

for details.centralization The graph level centrality index. theoretical_max The same as above, the theoretical maximum centralization score for a graph with the same number of vertices. - For
`centralization.degree.tmax`

,`centralization.closeness.tmax`

,`centralization.betweenness.tmax`

and`centralization.evcent.tmax`

a real scalar.

##### References

Freeman, L.C. (1979). Centrality in Social Networks I:
Conceptual Clarification. *Social Networks* 1, 215--239.

Wasserman, S., and Faust, K. (1994). *Social Network Analysis:
Methods and Applications.* Cambridge University Press.

##### Examples

```
# A BA graph is quite centralized
g <- ba.game(1000, m=4)
centralization.degree(g)$centralization
centralization.closeness(g, mode="all")$centralization
centralization.evcent(g, directed=FALSE)$centralization
# The most centralized graph according to eigenvector centrality
g0 <- graph( c(2,1), n=10, dir=FALSE )
g1 <- graph.star(10, mode="undirected")
centralization.evcent(g0)$centralization
centralization.evcent(g1)$centralization
```

*Documentation reproduced from package igraph, version 0.6.5-2, License: GPL (>= 2)*