| contract {igraph} | R Documentation | 
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  | 
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)
Gabor Csardi csardi.gabor@gmail.com
See Also
Other functions for manipulating graph structure: 
+.igraph(),
add_edges(),
add_vertices(),
complementer(),
compose(),
connect(),
delete_edges(),
delete_vertices(),
difference(),
difference.igraph(),
disjoint_union(),
edge(),
igraph-minus,
intersection(),
intersection.igraph(),
path(),
permute(),
rep.igraph(),
reverse_edges(),
simplify(),
union(),
union.igraph(),
vertex()
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)