R: Rewires the endpoints of the edges of a graph to a random...

each_edge {igraph} | R Documentation

## Rewires the endpoints of the edges of a graph to a random vertex

### Description

This function can be used together with `rewire`. This method rewires the endpoints of the edges with a constant probability uniformly randomly to a new vertex in a graph.

### Usage

    each_edge(
      prob,
      loops = FALSE,
      multiple = FALSE,
      mode = c("all", "out", "in", "total")
    )

### Arguments

`prob` | The rewiring probability, a real number between zero and one.
`loops` | Logical scalar, whether loop edges are allowed in the rewired graph.
`multiple` | Logical scalar, whether multiple edges are allowed in the generated graph.
`mode` | Character string, specifies which endpoint of the edges to rewire in directed graphs. ‘all’ rewires both endpoints, ‘in’ rewires the start (tail) of each directed edge, ‘out’ rewires the end (head) of each directed edge. Ignored for undirected graphs.

### Details

Note that this method might create graphs with multiple and/or loop edges.

### Author(s)

Gabor Csardi csardi.gabor@gmail.com

### See Also

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

### Examples

    # Some random shortcuts shorten the distances on a lattice
    g <- make_lattice(length = 100, dim = 1, nei = 5)
    mean_distance(g)
    g <- rewire(g, each_edge(prob = 0.05))
    mean_distance(g)

    # Rewiring the start of each directed edge preserves the in-degree distribution
    # but not the out-degree distribution
    g <- barabasi.game(1000)
    g2 <- g %>% rewire(each_edge(mode="in", multiple=TRUE, prob=0.2))
    degree(g, mode="in") == degree(g2, mode="in")

[Package igraph version 1.3.2 Index]