closeness: Compute the Closeness Centrality Scores of Network Positions

View source: R/nli.R

closenessR Documentation

Compute the Closeness Centrality Scores of Network Positions


closeness takes one or more graphs (dat) and returns the closeness centralities of positions (selected by nodes) within the graphs indicated by g. Depending on the specified mode, closeness on directed or undirected geodesics will be returned; 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).


closeness(dat, g=1, nodes=NULL, gmode="digraph", diag=FALSE, 
    tmaxdev=FALSE, cmode="directed", geodist.precomp=NULL, 
    rescale=FALSE, ignore.eval=TRUE)



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. gmode is set to "digraph" by default.


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.


boolean indicating whether or not the theoretical maximum absolute deviation from the maximum nodal centrality should be returned. By default, tmaxdev==FALSE.


string indicating the type of closeness centrality being computed (distances on directed or undirected pairs, or an alternate measure).


a geodist object precomputed for the graph to be analyzed (optional)


if true, centrality scores are rescaled such that they sum to 1.


logical; should edge values be ignored when calculating geodesics?


The closeness of a vertex v is defined as

C_C(v) = (|V(G)|-1)/sum( d(v,i), i in V(G), i!=v )

where d(i,j) is the geodesic distance between i and j (where defined). Closeness is ill-defined on disconnected graphs; in such cases, this routine substitutes Inf. It should be understood that this modification is not canonical (though it is common), but can be avoided by not attempting to measure closeness on disconnected graphs in the first place! Intuitively, closeness provides an index of the extent to which a given vertex has short paths to all other vertices in the graph; this is one reasonable measure of the extent to which a vertex is in the “middle” of a given structure.

An alternate form of closeness (apparently due to Gil and Schmidt (1996)) is obtained by taking the sum of the inverse distances to each vertex, i.e.

C_C(v) = sum( 1/d(v,i), i in V(G), i!=v )/(|V(G)|-1).

This measure correlates well with the standard form of closeness where both are well-defined, but lacks the latter's pathological behavior on disconnected graphs. Computation of alternate closeness may be performed via the argument cmode="suminvdir" (directed case) and cmode="suminvundir" (undirected case). The corresponding arguments cmode="directed" and cmode="undirected" return the standard closeness scores in the directed or undirected cases (respectively). Although treated here as a measure of closeness, this index was originally intended to capture power or efficacy; in its original form, the Gil-Schmidt power index is a renormalized version of the above. Specifically, let R(v,G) be the set of vertices reachable by v in V \ v. Then the Gil-Schmidt power index is defined as

C_GS(v) = sum( 1/d(v,i), i in R(v,G) )/|R(v,G)|,

with C_GS defined to be 0 for vertices with no outneighbors. This may be obtained via the argument cmode="gil-schmidt".


A vector, matrix, or list containing the closeness scores (depending on the number and size of the input graphs).


Judicious use of geodist.precomp can save a great deal of time when computing multiple path-based indices on the same network.


Carter T. Butts,


Freeman, L.C. (1979). “Centrality in Social Networks I: Conceptual Clarification.” Social Networks, 1, 215-239.

Gil, J. and Schmidt, S. (1996). “The Origin of the Mexican Network of Power”. Proceedings of the International Social Network Conference, Charleston, SC, 22-25.

Sinclair, P.A. (2009). “Network Centralization with the Gil Schmidt Power Centrality Index” Social Networks, 29, 81-92.

See Also



g<-rgraph(10)     #Draw a random graph with 10 members
closeness(g)      #Compute closeness scores

sna documentation built on June 1, 2022, 9:06 a.m.

Related to closeness in sna...