disjoint_union: Disjoint union of graphs In igraph: Network Analysis and Visualization

 disjoint_union R Documentation

Disjoint union of graphs

Description

The union of two or more graphs are created. The graphs are assumed to have disjoint vertex sets.

Usage

``````disjoint_union(...)

x %du% y
``````

Arguments

 `...` Graph objects or lists of graph objects. `x, y` Graph objects.

Details

`disjoint_union()` creates a union of two or more disjoint graphs. Thus first the vertices in the second, third, etc. graphs are relabeled to have completely disjoint graphs. Then a simple union is created. This function can also be used via the `⁠%du%⁠` operator.

`graph.disjont.union` handles graph, vertex and edge attributes. In particular, it merges vertex and edge attributes using the basic `c()` function. For graphs that lack some vertex/edge attribute, the corresponding values in the new graph are set to `NA`. Graph attributes are simply copied to the result. If this would result a name clash, then they are renamed by adding suffixes: _1, _2, etc.

Note that if both graphs have vertex names (i.e. a `name` vertex attribute), then the concatenated vertex names might be non-unique in the result. A warning is given if this happens.

An error is generated if some input graphs are directed and others are undirected.

Value

A new graph object.

Author(s)

Gabor Csardi csardi.gabor@gmail.com

Other functions for manipulating graph structure: `+.igraph()`, `add_edges()`, `add_vertices()`, `complementer()`, `compose()`, `connect()`, `contract()`, `delete_edges()`, `delete_vertices()`, `difference.igraph()`, `difference()`, `edge()`, `igraph-minus`, `intersection.igraph()`, `intersection()`, `path()`, `permute()`, `rep.igraph()`, `reverse_edges()`, `simplify()`, `union.igraph()`, `union()`, `vertex()`

Examples

``````
## A star and a ring
g1 <- make_star(10, mode = "undirected")
V(g1)\$name <- letters[1:10]
g2 <- make_ring(10)
V(g2)\$name <- letters[11:20]
print_all(g1 %du% g2)
``````

igraph documentation built on Aug. 10, 2023, 9:08 a.m.