Creates a separate graph for each connected component of a graph.
decompose(graph, mode = c("weak", "strong"), max.comps = NA, min.vertices = 0)The original graph.
Character constant giving the type of the components, wither
weak for weakly connected components or strong for strongly
connected components.
The maximum number of components to return. The first
max.comps components will be returned (which hold at least
min.vertices vertices, see the next parameter), the others will be
ignored. Supply NA here if you don't want to limit the number of
components.
The minimum number of vertices a component should contain in order to place it in the result list. E.g. supply 2 here to ignore isolate vertices.
A list of graph objects.
is_connected() to decide whether a graph is connected,
components() to calculate the connected components of a graph.
Connected components
articulation_points(),
biconnected_components(),
component_distribution(),
is_biconnected()
# the diameter of each component in a random graph
g <- sample_gnp(1000, 1 / 1000)
components <- decompose(g, min.vertices = 2)
sapply(components, diameter)
#> [1] 23 3 9 9 1 6 12 2 4 2 4 4 6 2 4 2 3 1 1 1 2 4 5 4 2
#> [26] 3 3 7 3 2 9 5 1 2 6 1 3 2 2 1 4 12 3 4 6 1 1 4 2 2
#> [51] 3 2 2 2 9 2 1 1 4 3 1 2 2 2 6 3 2 2 2 3 1 1 5 2 2
#> [76] 2 2 1 2 1 2 3 1 1 1 4 1 3 1 1 3 1 5 1 1 2 2 1 2 1
#> [101] 1 1 2 1 4 1 1 2 1 1 1 1 1 1 4 1 1 2 2 2 1 2 1 1 1
#> [126] 1