# neighborhood

##### Neighborhood of graph vertices

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

- Keywords
- graphs

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

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

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

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