centralization {igraph}R Documentation

Centralization of a graph.tmax

Description

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

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,
    mode = c("out", "in", "all", "total"))
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( max(c(w), w) - c(v),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.

Author(s)

Gabor Csardi csardi.gabor@gmail.com

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

[Package igraph version 0.7.0 Index]