The density of a graph is the ratio of the actual number of edges and the largest possible number of edges in the graph, assuming that no multi-edges are present.
Details
The concept of density is ill-defined for multigraphs. Note that this function does not check whether the graph has multi-edges and will return meaningless results for such graphs.
References
Wasserman, S., and Faust, K. (1994). Social Network Analysis: Methods and Applications. Cambridge: Cambridge University Press.
See also
vcount()
, ecount()
, simplify()
to get rid of the multiple and/or loop edges.
Other structural.properties:
bfs()
,
component_distribution()
,
connect()
,
constraint()
,
coreness()
,
degree()
,
dfs()
,
distance_table()
,
feedback_arc_set()
,
girth()
,
is_acyclic()
,
is_dag()
,
is_matching()
,
k_shortest_paths()
,
knn()
,
reciprocity()
,
subcomponent()
,
subgraph()
,
topo_sort()
,
transitivity()
,
unfold_tree()
,
which_multiple()
,
which_mutual()
Author
Gabor Csardi csardi.gabor@gmail.com
Examples
edge_density(make_empty_graph(n = 10)) # empty graphs have density 0
#> [1] 0
edge_density(make_full_graph(n = 10)) # complete graphs have density 1
#> [1] 1
edge_density(sample_gnp(n = 100, p = 0.4)) # density will be close to p
#> [1] 0.3921212
# loop edges
g <- make_graph(c(1, 2, 2, 2, 2, 3)) # graph with a self-loop
edge_density(g, loops = FALSE) # this is wrong!!!
#> [1] 0.5
edge_density(g, loops = TRUE) # this is right!!!
#> [1] 0.3333333
edge_density(simplify(g), loops = FALSE) # this is also right, but different
#> [1] 0.3333333