Learn R Programming

sna (version 0.3)

evcent: Find Eigenvector Centrality Scores of Network Positions

Description

evcent takes a graph stack (dat) and returns the eigenvector centralities of positions within one graph (indicated by nodes and g, respectively). This function is compatible with centralization, and will return the theoretical maximum absolute deviation (from maximum) conditional on size (which is used by centralization to normalize the observed centralization score).

Usage

evcent(dat, g=1, nodes=c(1:dim(dat)[2]), gmode="digraph", diag=FALSE,
    tmaxdev=FALSE, rescale=FALSE)

Arguments

dat
Data array to be analyzed. By assumption, the first dimension of the array indexes the graph, with the next two indexing the actors. Alternately, this can be an n x n matrix (if only one graph is involved).
g
Integer indicating the index of the graph for which centralities are to be calculated. By default, g==1.
nodes
List indicating which nodes are to be included in the calculation. By default, all nodes are included.
gmode
String indicating the type of graph being evaluated. "digraph" indicates that edges should be interpreted as directed; "graph" indicates that edges are undirected. This is currently ignored.
diag
Boolean indicating whether or not the diagonal should be treated as valid data. Set this true if and only if the data can contain loops. diag is FALSE by default.
tmaxdev
Boolean indicating whether or not the theoretical maximum absolute deviation from the maximum nodal centrality should be returned. By default, tmaxdev==FALSE.
rescale
If true, centrality scores are rescaled such that they sum to 1.

Value

  • A vector containing the centrality scores

WARNING

evcent will not symmetrize your data before extracting eigenvectors; don't send this routine asymmetric matrices unless you really mean to do so.

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 $S \Lambda S^{-1}$ decomposition).)

The simple eigenvector centrality is generalized by the Bonacich power centrality measure; see bonpow for more details.

References

Bonacich, P. (1987). ``Power and Centrality: A Family of Measures.'' American Journal of Sociology, 92, 1170-1182.

Katz, L. (1953). ``A New Status Index Derived from Sociometric Analysis.'' Psychometrika, 18, 39-43.

See Also

centralization, bonpow

Examples

Run this code
#Generate some test data
dat<-rgraph(10,mode="graph")
#Compute eigenvector centrality scores
evcent(dat)

Run the code above in your browser using DataLab