eigen_centrality
Find Eigenvector Centrality Scores of Network Positions
eigen_centrality
takes a graph (graph
) and returns the
eigenvector centralities of positions v
within it
- Keywords
- graphs
Usage
eigen_centrality(
graph,
directed = FALSE,
scale = TRUE,
weights = NULL,
options = arpack_defaults
)
Arguments
- graph
Graph to be analyzed.
- directed
Logical scalar, whether to consider direction of the edges in directed graphs. It is ignored for undirected graphs.
- scale
Logical scalar, whether to scale the result to have a maximum score of one. If no scaling is used then the result vector has unit length in the Euclidean norm.
- weights
A numerical vector or
NULL
. This argument can be used to give edge weights for calculating the weighted eigenvector centrality of vertices. If this isNULL
and the graph has aweight
edge attribute then that is used. Ifweights
is a numerical vector then it used, even if the graph has aweights
edge attribute. If this isNA
, then no edge weights are used (even if the graph has aweight
edge attribute. Note that if there are negative edge weights and the direction of the edges is considered, then the eigenvector might be complex. In this case only the real part is reported. This function interprets weights as connection strength. Higher weights spread the centrality better.- options
A named list, to override some ARPACK options. See
arpack
for details.
Details
Eigenvector centrality scores correspond to the values of the first eigenvector of the graph adjacency matrix; these scores may, in turn, be interpreted as arising from a reciprocal process in which the centrality of each actor is proportional to the sum of the centralities of those actors to whom he or she is connected. In general, vertices with high eigenvector centralities are those which are connected to many other vertices which are, in turn, connected to many others (and so on). (The perceptive may realize that this implies that the largest values will be obtained by individuals in large cliques (or high-density substructures). This is also intelligible from an algebraic point of view, with the first eigenvector being closely related to the best rank-1 approximation of the adjacency matrix (a relationship which is easy to see in the special case of a diagonalizable symmetric real matrix via the \(SLS^-1\) decomposition).)
From igraph version 0.5 this function uses ARPACK for the underlying
computation, see arpack
for more about ARPACK in igraph.
Value
A named list with components:
A vector containing the centrality scores.
The eigenvalue corresponding to the calculated eigenvector, i.e. the centrality scores.
A named
list, information about the underlying ARPACK computation. See
arpack
for the details.
WARNING
eigen_centrality
will not symmetrize your data
before extracting eigenvectors; don't send this routine asymmetric matrices
unless you really mean to do so.
References
Bonacich, P. (1987). Power and Centrality: A Family of Measures. American Journal of Sociology, 92, 1170-1182.
Examples
# NOT RUN {
#Generate some test data
g <- make_ring(10, directed=FALSE)
#Compute eigenvector centrality scores
eigen_centrality(g)
# }