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 `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)

Gabor Csardi csardi.gabor@gmail.com

### 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)

[Package igraph version 1.1.2 Index]