R: Graph rewiring while preserving the degree distribution

keeping_degseq {igraph} | R Documentation

## Graph rewiring while preserving the degree distribution

### Description

This function can be used together with `rewire` to randomly rewire the edges while preserving the original graph's degree distribution.

### Usage

    keeping_degseq(loops = FALSE, niter = 100)

### Arguments

`loops` | Whether to allow destroying and creating loop edges.
`niter` | Number of rewiring trials to perform.

### Details

The rewiring algorithm chooses two arbitrary edges in each step ((a,b) and (c,d)) and substitutes them with (a,d) and (c,b), if they not already exists in the graph. The algorithm does not create multiple edges.

### Author(s)

Tamas Nepusz ntamas@gmail.com and Gabor Csardi csardi.gabor@gmail.com

### See Also

`sample_degseq`

Other rewiring functions: `each_edge()`, `rewire()`

### Examples

    g <- make_ring(10)
    g %>%
      rewire(keeping_degseq(niter = 20)) %>%
      degree()
    print_all(rewire(g, with = keeping_degseq(niter = vcount(g) * 10)))

[Package igraph version 1.2.11 Index]