infocent
takes one or more graphs (dat
) and returns the information centralities of positions (selected by nodes
) within the graphs indicated by g
. 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).
infocent(dat, g=1, nodes=NULL, gmode="digraph", diag=FALSE,
cmode="weak", tmaxdev=FALSE, rescale=FALSE,tol=1e-20)
A vector, matrix, or list containing the centrality scores (depending on the number and size of the input graphs).
one or more input graphs.
integer indicating the index of the graph for which centralities are to be calculated (or a vector thereof). By default, g==1
.
list indicating which nodes are to be included in the calculation. By default, all nodes are included.
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.
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.
the rule to be used by symmetrize
when symmetrizing dichotomous data; must be one of "weak"
(for an OR
rule), "strong"
for an AND
rule), "upper"
(for a max
rule), or "lower"
(for a min
rule). Set to "weak"
by default, this parameter obviously has no effect on symmetric data.
boolean indicating whether or not the theoretical maximum absolute deviation from the maximum nodal centrality should be returned. By default, tmaxdev==FALSE
.
if true, centrality scores are rescaled such that they sum to 1.
tolerance for near-singularities during matrix inversion (see solve
).
David Barron david.barron@jesus.ox.ac.uk
Carter T. Butts buttsc@uci.edu
Actor information centrality is a hybrid measure which relates to both path-length indices (e.g., closeness, graph centrality) and to walk-based eigenmeasures (e.g., eigenvector centrality, Bonacich power). In particular, the information centrality of a given actor can be understood to be the harmonic average of the ``bandwidth'' for all paths originating with said individual (where the bandwidth is taken to be inversely related to path length). Formally, the index is constructed as follows. First, we take \(G\) to be an undirected (but possibly valued) graph -- symmetrizing if necessary -- with (possibly valued) adjacency matrix \(\mathbf{A}\). From this, we remove all isolates (whose information centralities are zero in any event) and proceed to create the weighted connection matrix
$$ \mathbf{C} = \mathbf{B}^{-1}$$
where \(\mathbf{B}\) is a pseudo-adjacency matrix formed by replacing the diagonal of \(1-\mathbf{A}\) with one plus each actor's degree. Given the above, let \(T\) be the trace of \(\mathbf{C}\) with sum \(S_T\), and let \(S_R\) be an arbitrary row sum (all rows of \(\mathbf{C}\) have the same sum). The information centrality scores are then equal to
$$ C_I = \frac{1}{T + \frac{S_T-2S_R}{|V(G)|}}$$
(recalling that the scores for any omitted vertices are 0).
In general, actors with higher information centrality are predicted to have greater control over the flow of information within a network; highly information-central individuals tend to have a large number of short paths to many others within the social structure. Because the raw centrality values can be difficult to interpret directly, rescaled values are sometimes preferred (see the rescale
option). Though the use of path weights suggest information centrality as a possible replacement for closeness, the problem of inverting the \(\mathbf{B}\) matrix poses problems of its own; as with all such measures, caution is advised on disconnected or degenerate structures.
Stephenson, K., and Zelen, M. (1989). ``Rethinking Centrality: Methods and Applications.'' Social Networks, 11, 1-37.
Wasserman, S., and Faust, K. (1994). Social Network Analysis: Methods and Applications. Cambridge: Cambridge University Press.
evcent
, bonpow
, closeness
, graphcent
, centralization
#Generate some test data
dat<-rgraph(10,mode="graph")
#Compute information centrality scores
infocent(dat)
Run the code above in your browser using DataLab