# contract.vertices

From igraph v0.6.5-2
by Gabor Csardi

##### Contract several vertices into a single one

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.

- Keywords
- graphs

##### Usage

```
contract.vertices(graph, mapping,
vertex.attr.comb=getIgraphOpt("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.

##### Examples

```
g <- graph.ring(10)
g$name <- "Ring"
V(g)$name <- letters[1:vcount(g)]
E(g)$weight <- runif(ecount(g))
g2 <- contract.vertices(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)
```

*Documentation reproduced from package igraph, version 0.6.5-2, License: GPL (>= 2)*

### Community examples

Looks like there are no examples yet.