These functions find the vertices not farther than a given limit from another fixed vertex, these are called the neighborhood of the vertex.
connect(graph, order, mode = c("all", "out", "in", "total"))ego_size(
graph,
order = 1,
nodes = V(graph),
mode = c("all", "out", "in"),
mindist = 0
)
ego(
graph,
order = 1,
nodes = V(graph),
mode = c("all", "out", "in"),
mindist = 0
)
make_ego_graph(
graph,
order = 1,
nodes = V(graph),
mode = c("all", "out", "in"),
mindist = 0
)
ego_size
returns with an integer vector.
ego
returns A list of igraph.vs
or a list of numeric
vectors depending on the value of igraph_opt("return.vs.es")
,
see details for performance characteristics.
make_ego_graph
returns with a list of graphs.
connect
returns with a new graph object.
The input graph.
Integer giving the order of the neighborhood.
Character constant, 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 vertices for which the calculation is performed.
The minimum distance to include the vertex in the result.
Gabor Csardi csardi.gabor@gmail.com, the first version was done by Vincent Matossian
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.
ego_size
calculates the size of the neighborhoods for the
given vertices with the given order.
ego
calculates the neighborhoods of the given vertices with
the given order parameter.
make_ego_graph
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
creates a new graph by connecting each vertex to
all other vertices in its neighborhood.
g <- make_ring(10)
ego_size(g, order = 0, 1:3)
ego_size(g, order = 1, 1:3)
ego_size(g, order = 2, 1:3)
ego(g, order = 0, 1:3)
ego(g, order = 1, 1:3)
ego(g, order = 2, 1:3)
# attributes are preserved
V(g)$name <- c("a", "b", "c", "d", "e", "f", "g", "h", "i", "j")
make_ego_graph(g, order = 2, 1:3)
# connecting to the neighborhood
g <- make_ring(10)
g <- connect(g, 2)
Run the code above in your browser using DataLab