This function checks the reciprocal pair of the supplied edges.
which_mutual(graph, eids = E(graph), loops = TRUE)
A logical vector of the same length as the number of edges supplied.
In a directed graph an (A,B) edge is mutual if the graph also includes a (B,A) directed edge.
Note that multi-graphs are not handled properly, i.e. if the graph contains two copies of (A,B) and one copy of (B,A), then these three edges are considered to be mutual.
Undirected graphs contain only mutual edges by definition.
reciprocity()
, dyad_census()
if you just
want some statistics about mutual edges.
Other structural.properties:
bfs()
,
component_distribution()
,
connect()
,
constraint()
,
coreness()
,
degree()
,
dfs()
,
distance_table()
,
edge_density()
,
feedback_arc_set()
,
girth()
,
is_acyclic()
,
is_dag()
,
is_matching()
,
k_shortest_paths()
,
knn()
,
reciprocity()
,
subcomponent()
,
subgraph()
,
topo_sort()
,
transitivity()
,
unfold_tree()
,
which_multiple()
g <- sample_gnm(10, 50, directed = TRUE)
reciprocity(g)
#> [1] 0.52
dyad_census(g)
#> $mut
#> [1] 13
#>
#> $asym
#> [1] 24
#>
#> $null
#> [1] 8
#>
which_mutual(g)
#> [1] FALSE TRUE FALSE TRUE TRUE TRUE FALSE FALSE TRUE TRUE TRUE FALSE
#> [13] TRUE TRUE FALSE FALSE TRUE FALSE TRUE TRUE FALSE TRUE FALSE FALSE
#> [25] FALSE FALSE TRUE TRUE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE
#> [37] FALSE TRUE TRUE FALSE FALSE TRUE FALSE TRUE TRUE FALSE TRUE TRUE
#> [49] TRUE TRUE
sum(which_mutual(g)) / 2 == dyad_census(g)$mut
#> [1] TRUE