Skip to contents

See centralize() for a summary of graph centralization.

Usage

centr_eigen(
  graph,
  directed = FALSE,
  scale = TRUE,
  options = arpack_defaults(),
  normalized = TRUE
)

Arguments

graph

The input graph.

directed

logical scalar, whether to use directed shortest paths for calculating eigenvector centrality.

scale

Whether to rescale the eigenvector centrality scores, such that the maximum score is one.

options

This is passed to eigen_centrality(), the options for the ARPACK eigensolver.

normalized

Logical scalar. Whether to normalize the graph level centrality score by dividing by the theoretical maximum.

Value

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 eigen_centrality() 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.

See also

Examples

# A BA graph is quite centralized
g <- sample_pa(1000, m = 4)
centr_degree(g)$centralization
#> [1] 0.1523145
centr_clo(g, mode = "all")$centralization
#> [1] 0.4128655
centr_betw(g, directed = FALSE)$centralization
#> [1] 0.2245963
centr_eigen(g, directed = FALSE)$centralization
#> [1] 0.9418167

# The most centralized graph according to eigenvector centrality
g0 <- make_graph(c(2, 1), n = 10, dir = FALSE)
g1 <- make_star(10, mode = "undirected")
centr_eigen(g0)$centralization
#> [1] 1
centr_eigen(g1)$centralization
#> [1] 0.75