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

contract

Contract several vertices into a single one


Description

This function creates a new graph, by merging several vertices into one. The vertices in the new graph correspond to sets of vertices in the input graph.

Usage

contract(graph, mapping, vertex.attr.comb = igraph_opt("vertex.attr.comb"))

Arguments

graph

The input graph, it can be directed or undirected.

mapping

A numeric vector that specifies the mapping. Its elements correspond to the vertices, and for each element the id in the new graph is given.

vertex.attr.comb

Specifies how to combine the vertex attributes in the new graph. Please see attribute.combination for details.

Details

The attributes of the graph are kept. Graph and edge attributes are unchanged, vertex attributes are combined, according to the vertex.attr.comb parameter.

Value

A new graph object.

Author(s)

Examples

g <- make_ring(10)
g$name <- "Ring"
V(g)$name <- letters[1:vcount(g)]
E(g)$weight <- runif(ecount(g))

g2 <- contract(g, rep(1:5, each=2),
                        vertex.attr.comb=toString)

## graph and edge attributes are kept, vertex attributes are
## combined using the 'toString' function.
print(g2, g=TRUE, v=TRUE, e=TRUE)

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.