Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

components

Connected components of a graph


Description

Calculate the maximal (weakly or strongly) connected components of a graph

Usage

component_distribution(graph, cumulative = FALSE, mul.size = FALSE, ...)

components(graph, mode = c("weak", "strong"))

Arguments

graph

The graph to analyze.

cumulative

Logical, if TRUE the cumulative distirubution (relative frequency) is calculated.

mul.size

Logical. If TRUE the relative frequencies will be multiplied by the cluster sizes.

...

Additional attributes to pass to cluster, right now only mode makes sense.

mode

Character string, either “weak” or “strong”. For directed graphs “weak” implies weakly, “strong” strongly connected components to search. It is ignored for undirected graphs.

Details

is_connected decides whether the graph is weakly or strongly connected.

components finds the maximal (weakly or strongly) connected components of a graph.

count_components does almost the same as components but returns only the number of clusters found instead of returning the actual clusters.

component_distribution creates a histogram for the maximal connected component sizes.

The weakly connected components are found by a simple breadth-first search. The strongly connected components are implemented by two consecutive depth-first searches.

Value

For is_connected a logical constant.

For components a named list with three components:

membership

numeric vector giving the cluster id to which each vertex belongs.

csize

numeric vector giving the sizes of the clusters.

no

numeric constant, the number of clusters.

For count_components an integer constant is returned.

For component_distribution a numeric vector with the relative frequencies. The length of the vector is the size of the largest component plus one. Note that (for currently unknown reasons) the first element of the vector is the number of clusters of size zero, so this is always zero.

Author(s)

See Also

Examples

g <- sample_gnp(20, 1/20)
clu <- components(g)
groups(clu)

igraph

Network Analysis and Visualization

v1.2.10
GPL (>= 2)
Authors
See AUTHORS file.
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.