neighborhood {igraph}R Documentation

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.


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


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.


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.


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.


Gabor Csardi, the first version was done by Vincent Matossian


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.1 Index]