igraph (version 1.3.2)

closeness: Closeness centrality of vertices


Closeness centrality measures how many steps is required to access every other vertex from a given vertex.


  vids = V(graph),
  mode = c("out", "in", "all", "total"),
  weights = NULL,
  normalized = FALSE,
  cutoff = -1



The graph to analyze.


The vertices for which closeness will be calculated.


Character string, defined the types of the paths used for measuring the distance in directed graphs. “in” measures the paths to a vertex, “out” measures paths from a vertex, all uses undirected paths. This argument is ignored for undirected graphs.


Optional positive weight vector for calculating weighted closeness. If the graph has a weight edge attribute, then this is used by default. Weights are used for calculating weighted shortest paths, so they are interpreted as distances.


Logical scalar, whether to calculate the normalized closeness, i.e. the inverse average distance to all reachable vertices. The non-normalized closeness is the inverse of the sum of distances to all reachable vertices.


The maximum path length to consider when calculating the closeness. If zero or negative then there is no such limit.


Numeric vector with the closeness values of all the vertices in v.


The closeness centrality of a vertex is defined as the inverse of the sum of distances to all the other vertices in the graph:

$$\frac{1}{\sum_{i\ne v} d_{vi}}$$

If there is no (directed) path between vertex v and i, then i is omitted from the calculation. If no other vertices are reachable from v, then its closeness is returned as NaN.

cutoff or smaller. This can be run for larger graphs, as the running time is not quadratic (if cutoff is small). If cutoff is zero or negative (which is the default), then the function calculates the exact closeness scores. Using zero as a cutoff is deprecated and future versions (from 1.4.0) will treat zero cutoff literally (i.e. no paths considered at all). If you want no cutoff, use a negative number.

estimate_closeness is an alias for closeness with a different argument order, for sake of compatibility with older versions of igraph.

Closeness centrality is meaningful only for connected graphs. In disconnected graphs, consider using the harmonic centrality with harmonic_centrality


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

See Also

betweenness, degree, harmonic_centrality


Run this code
g <- make_ring(10)
g2 <- make_star(10)
closeness(g2, mode="in")
closeness(g2, mode="out")
closeness(g2, mode="all")

# }

Run the code above in your browser using DataCamp Workspace