Intersection of graphs

The intersection of two or more graphs are created. The graphs may have identical or overlapping vertex sets.

## S3 method for class 'igraph':
intersection(..., byname = "auto",
  keep.all.vertices = TRUE)
A logical scalar, or the character scalar auto. Whether to perform the operation based on symbolic vertex names. If it is auto, that means TRUE if all graphs are named and FALSE otherwise. A warning is g
Logical scalar, whether to keep vertices that only appear in a subset of the input graphs.
Graph objects or lists of graph objects.

intersection creates the intersection of two or more graphs: only edges present in all graphs will be included. The corresponding operator is %s%.

If the byname argument is TRUE (or auto and all graphs are named), then the operation is performed on symbolic vertex names instead of the internal numeric vertex ids.

intersection keeps the attributes of all graphs. All graph, vertex and edge attributes are copied to the result. If an attribute is present in multiple graphs and would result a name clash, then this attribute is renamed by adding suffixes: _1, _2, etc.

The name vertex attribute is treated specially if the operation is performed based on symbolic vertex names. In this case name must be present in all graphs, and it is not renamed in the result graph.

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


  • A new graph object.

  • %s%
  • graph.intersection
  • intersection.igraph
## Common part of two social networks
net1 <- graph_from_literal(D-A:B:F:G, A-C-F-A, B-E-G-B, A-B, F-G,
                  H-F:G, H-I-J)
net2 <- graph_from_literal(D-A:F:Y, B-A-X-F-H-Z, F-Y)
str(net1 %s% net2)
Documentation reproduced from package igraph, version 1.0.0, License: GPL (>= 2)

Community examples

Looks like there are no examples yet.