neighborhood {igraph} | R Documentation

## Neighborhood of graph vertices

### Description

These functions find the vertices not farther than a given limit from another fixed vertex, these are called the neighborhood of the vertex.

### Usage

    neighborhood.size(graph, order, nodes=V(graph), mode=c("all", "out", "in"))
    neighborhood(graph, order, nodes=V(graph), mode=c("all", "out", "in"))
    graph.neighborhood(graph, order, nodes=V(graph), mode=c("all", "out", "in"))
    connect.neighborhood(graph, order, mode=c("all", "out", "in", "total"))

### Arguments

`graph` | The input graph.
`order` | Integer giving the order of the neighborhood.
`nodes` | The vertices for which the calculation is performed.

`mode`

Character constatnt, it specifies how to use the direction of the edges if a directed graph is analyzed. For ‘out’ only the outgoing edges are followed, so all vertices reachable from the source vertex in at most `order` steps are counted. For ‘"in"’ all vertices from which the source vertex is reachable in at most `order` steps are counted. ‘"all"’ ignores the direction of the edges. This argument is ignored for undirected graphs.

### Details

The neighborhood of a given order `o` of a vertex `v` includes all vertices which are closer to `v` than the order. Ie. order 0 is always `v` itself, order 1 is `v` plus its immediate neighbors, order 2 is order 1 plus the immediate neighbors of the vertices in order 1, etc.

`neighborhood.size` calculates the size of the neighborhoods for the given vertices with the given order.

`neighborhood` calculates the neighborhoods of the given vertices with the given order parameter.

`graph.neighborhood` is creates (sub)graphs from all neighborhoods of the given vertices with the given order parameter. This function preserves the vertex, edge and graph attributes.

`connect.neighborhood` creates a new graph by connecting each vertex to all other vertices in its neighborhood.

### Value

`neighborhood.size` returns with an integer vector.
`neighborhood` returns with a list of integer vectors.
`graph.neighborhood` returns with a list of graphs.
`connect.neighborhood` returns with a new graph object.

### Author(s)

Gabor Csardi csardi@rmki.kfki.hu, the first version was done by Vincent Matossian

### Examples

    g <- graph.ring(10)
    neighborhood.size(g, 0, 1:3)
    neighborhood.size(g, 1, 1:3)
    neighborhood.size(g, 2, 1:3)
    neighborhood(g, 0, 1:3)
    neighborhood(g, 1, 1:3)
    neighborhood(g, 2, 1:3)

    # attributes are preserved
    V(g)$name <- c("a", "b", "c", "d", "e", "f", "g", "h", "i", "j")
    graph.neighborhood(g, 2, 1:3)

    # connecting to the neighborhood
    g <- graph.ring(10)
    g <- connect.neighborhood(g, 2)

[Package igraph version 0.5.2 Index]