These functions implement logical tests for various network features.
is_connected()
tests whether network is strongly connected,
or weakly connected if undirected.
is_perfect_matching()
tests whether there is a matching
for a network that covers every node in the network.
is_eulerian()
tests whether there is a Eulerian path for a network
where that path passes through every tie exactly once.
is_acyclic()
tests whether network is a directed acyclic graph.
is_aperiodic()
tests whether network is aperiodic.
is_connected(.data)
is_perfect_matching(.data, mark = "type")
is_eulerian(.data)
is_acyclic(.data)
is_aperiodic(.data, max_path_length = 4)
https://stackoverflow.com/questions/55091438/r-igraph-find-all-cycles
An object of a {manynet}
-consistent class:
matrix (adjacency or incidence) from {base}
R
edgelist, a data frame from {base}
R or tibble from {tibble}
igraph, from the {igraph}
package
network, from the {network}
package
tbl_graph, from the {tidygraph}
package
A logical vector marking two types or modes. By default "type".
Maximum path length considered. If negative, paths of all lengths are considered. By default 4, to avoid potentially very long computation times.
TRUE if the condition is met, or FALSE otherwise.
To test weak connection on a directed network,
please see to_undirected()
.
For two-mode or bipartite networks, to_matching()
is used
to identify whether a perfect matching is possible.
For one-mode networks, we use the Tutte theorem.
Note that currently only subgraphs with cutpoints removed are tested,
and not all possible subgraphs.
This is to avoid computationally expensive combinatorial operations,
but may come at the cost of some edge cases where a one-mode network
cannot perfectly match as suggested.
Tutte, William T. 1950. "The factorization of locally finite graphs". Canadian Journal of Mathematics. 2: 44–49. doi:10.4153/cjm-1950-005-2
Other marking:
mark_format
,
mark_is
is_connected(ison_southern_women)
#> [1] TRUE
is_perfect_matching(ison_southern_women)
#> [1] FALSE
is_eulerian(ison_brandes)
#> [1] FALSE
is_acyclic(ison_algebra)
#> [1] FALSE
is_aperiodic(ison_algebra)
#> [1] TRUE