geodist
uses a BFS to find the number and lengths of geodesics between all nodes of dat
. Where geodesics do not exist, the value in inf.replace
is substituted for the distance in question.
geodist(dat, inf.replace=Inf, count.paths=TRUE, predecessors=FALSE,
ignore.eval=TRUE, na.omit=TRUE)
one or more input graphs.
the value to use for geodesic distances between disconnected nodes; by default, this is equal Inf
.
logical; should a count of geodesics be included in the returned object?
logical; should a predecessor list be included in the returned object?
logical; should edge values be ignored when computing geodesics?
logical; should NA
-valued edges be removed?
A list containing:
If count.paths==TRUE
, a matrix containing the number of geodesics between each pair of vertices
A matrix containing the geodesic distances between each pair of vertices
If predecessors
, a list whose ith element is a list of vectors, the jth of which contains the intervening vertices on all shortest paths from i to j
This routine is used by a variety of other functions; many of these will allow the user to provide manually precomputed geodist
output so as to prevent expensive recomputation. Note that the choice of infinite path length for disconnected vertex pairs is non-canonical (albeit common), and some may prefer to simply treat these as missing values. geodist
(without loss of generality) treats all paths as directed, a fact which should be kept in mind when interpreting geodist
output.
By default, geodist
ignores edge values (except for NA
ed edges, which are dropped when na.omit==TRUE
). Setting ignore.eval=FALSE
will change this behavior, with edge values being interpreted as distances; where edge values reflect proximity or tie strength, transformation may be necessary. Edge values should also be non-negative. Because the valued-case algorithm is significantly slower than the unvalued-case algorithm, ignore.eval
should be set to TRUE
wherever possible.
Brandes, U. (2000). ``Faster Evaluation of Shortest-Path Based Centrality Indices.'' Konstanzer Schriften in Mathematik und Informatik, 120.
West, D.B. (1996). Introduction to Graph Theory. Upper Saddle River, N.J.: Prentice Hall.
# NOT RUN {
#Find geodesics on a random graph
gd<-geodist(rgraph(15))
#Examine the number of geodesics
gd$counts
#Examine the geodesic distances
gd$gdist
# }
Run the code above in your browser using DataLab