这些函数用于查找距离另一个固定顶点不超过给定限制的顶点,这些顶点被称为该顶点的邻域。 请注意,ego()
和 neighborhood()
、ego_size()
和 neighborhood_size()
、make_ego_graph()
和 make_neighborhood()_graph()
是同义词(别名)。
用法
connect(graph, order, mode = c("all", "out", "in", "total"))
ego_size(
graph,
order = 1,
nodes = V(graph),
mode = c("all", "out", "in"),
mindist = 0
)
neighborhood_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
)
neighborhood(
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
)
make_neighborhood_graph(
graph,
order = 1,
nodes = V(graph),
mode = c("all", "out", "in"),
mindist = 0
)
值
ego_size()
/neighborhood_size()
返回一个整数向量。ego()
/neighborhood()
(同义词)根据igraph_opt("return.vs.es")
的值返回igraph.vs
列表或数字向量列表,有关性能特征的详细信息请参见。make_ego_graph()
/make_neighborhood_graph()
返回图的列表。connect()
返回一个新的图对象。
详细信息
给定顶点 v
的给定阶数 r
的邻域包括所有比该阶数更接近 v
的顶点。 即,阶数 0 始终是 v
本身,阶数 1 是 v
加上它的直接邻居,阶数 2 是阶数 1 加上阶数 1 中顶点的直接邻居,依此类推。
ego_size()
/neighborhood_size()
(同义词)返回给定阶数的邻域的大小,对于每个给定的顶点。
ego()
/neighborhood()
(同义词)返回属于给定阶数的邻域的顶点,对于每个给定的顶点。
make_ego_graph()
/make_neighborhood()_graph()
(同义词)使用给定的阶数参数从给定顶点的所有邻域创建(子)图。 此函数保留顶点、边和图属性。
connect()
通过将每个顶点连接到其邻域中的所有其他顶点来创建一个新图。
参见
用于操作图结构的其他函数:+.igraph()
, add_edges()
, add_vertices()
, complementer()
, compose()
, contract()
, delete_edges()
, delete_vertices()
, difference()
, difference.igraph()
, disjoint_union()
, edge()
, igraph-minus
, intersection()
, intersection.igraph()
, path()
, permute()
, rep.igraph()
, reverse_edges()
, simplify()
, union()
, union.igraph()
, vertex()
其他结构属性:bfs()
, component_distribution()
, constraint()
, coreness()
, degree()
, dfs()
, distance_table()
, edge_density()
, feedback_arc_set()
, feedback_vertex_set()
, girth()
, is_acyclic()
, is_dag()
, is_matching()
, k_shortest_paths()
, knn()
, reciprocity()
, subcomponent()
, subgraph()
, topo_sort()
, transitivity()
, unfold_tree()
, which_multiple()
, which_mutual()
作者
Gabor Csardi csardi.gabor@gmail.com, 第一个版本由 Vincent Matossian 完成
示例
g <- make_ring(10)
ego_size(g, order = 0, 1:3)
#> [1] 1 1 1
ego_size(g, order = 1, 1:3)
#> [1] 3 3 3
ego_size(g, order = 2, 1:3)
#> [1] 5 5 5
# neighborhood_size() is an alias of ego_size()
neighborhood_size(g, order = 0, 1:3)
#> [1] 1 1 1
neighborhood_size(g, order = 1, 1:3)
#> [1] 3 3 3
neighborhood_size(g, order = 2, 1:3)
#> [1] 5 5 5
ego(g, order = 0, 1:3)
#> [[1]]
#> + 1/10 vertex, from 4ff9ff0:
#> [1] 1
#>
#> [[2]]
#> + 1/10 vertex, from 4ff9ff0:
#> [1] 2
#>
#> [[3]]
#> + 1/10 vertex, from 4ff9ff0:
#> [1] 3
#>
ego(g, order = 1, 1:3)
#> [[1]]
#> + 3/10 vertices, from 4ff9ff0:
#> [1] 1 2 10
#>
#> [[2]]
#> + 3/10 vertices, from 4ff9ff0:
#> [1] 2 1 3
#>
#> [[3]]
#> + 3/10 vertices, from 4ff9ff0:
#> [1] 3 2 4
#>
ego(g, order = 2, 1:3)
#> [[1]]
#> + 5/10 vertices, from 4ff9ff0:
#> [1] 1 2 10 3 9
#>
#> [[2]]
#> + 5/10 vertices, from 4ff9ff0:
#> [1] 2 1 3 10 4
#>
#> [[3]]
#> + 5/10 vertices, from 4ff9ff0:
#> [1] 3 2 4 1 5
#>
# neighborhood() is an alias of ego()
neighborhood(g, order = 0, 1:3)
#> [[1]]
#> + 1/10 vertex, from 4ff9ff0:
#> [1] 1
#>
#> [[2]]
#> + 1/10 vertex, from 4ff9ff0:
#> [1] 2
#>
#> [[3]]
#> + 1/10 vertex, from 4ff9ff0:
#> [1] 3
#>
neighborhood(g, order = 1, 1:3)
#> [[1]]
#> + 3/10 vertices, from 4ff9ff0:
#> [1] 1 2 10
#>
#> [[2]]
#> + 3/10 vertices, from 4ff9ff0:
#> [1] 2 1 3
#>
#> [[3]]
#> + 3/10 vertices, from 4ff9ff0:
#> [1] 3 2 4
#>
neighborhood(g, order = 2, 1:3)
#> [[1]]
#> + 5/10 vertices, from 4ff9ff0:
#> [1] 1 2 10 3 9
#>
#> [[2]]
#> + 5/10 vertices, from 4ff9ff0:
#> [1] 2 1 3 10 4
#>
#> [[3]]
#> + 5/10 vertices, from 4ff9ff0:
#> [1] 3 2 4 1 5
#>
# 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)
#> [[1]]
#> IGRAPH 126a9df UN-- 5 4 -- Ring graph
#> + attr: name (g/c), mutual (g/l), circular (g/l), name (v/c)
#> + edges from 126a9df (vertex names):
#> [1] a--b b--c a--j i--j
#>
#> [[2]]
#> IGRAPH 0357f44 UN-- 5 4 -- Ring graph
#> + attr: name (g/c), mutual (g/l), circular (g/l), name (v/c)
#> + edges from 0357f44 (vertex names):
#> [1] a--b b--c c--d a--j
#>
#> [[3]]
#> IGRAPH 4634461 UN-- 5 4 -- Ring graph
#> + attr: name (g/c), mutual (g/l), circular (g/l), name (v/c)
#> + edges from 4634461 (vertex names):
#> [1] a--b b--c c--d d--e
#>
# make_neighborhood_graph() is an alias of make_ego_graph()
make_neighborhood_graph(g, order = 2, 1:3)
#> [[1]]
#> IGRAPH 0601178 UN-- 5 4 -- Ring graph
#> + attr: name (g/c), mutual (g/l), circular (g/l), name (v/c)
#> + edges from 0601178 (vertex names):
#> [1] a--b b--c a--j i--j
#>
#> [[2]]
#> IGRAPH c8cb1b5 UN-- 5 4 -- Ring graph
#> + attr: name (g/c), mutual (g/l), circular (g/l), name (v/c)
#> + edges from c8cb1b5 (vertex names):
#> [1] a--b b--c c--d a--j
#>
#> [[3]]
#> IGRAPH 67607f9 UN-- 5 4 -- Ring graph
#> + attr: name (g/c), mutual (g/l), circular (g/l), name (v/c)
#> + edges from 67607f9 (vertex names):
#> [1] a--b b--c c--d d--e
#>
# connecting to the neighborhood
g <- make_ring(10)
g <- connect(g, 2)