将 igraph 对象子集化为某些顶点的二阶自我图

subset igraph object to just 2nd order ego graph of certain vertices

构建 ,有没有办法扩展此子图以包含以两度连接到顶点子集的顶点?我正在考虑类似于 make_ego_graph() 中的函数的命令,其中 order=2 和 mode="in"。我正在使用有向图对象。

到目前为止,我已经得出以下结果,但它没有生成我正在寻找的图表。

first_degree <- V(graph)$condition == "something"
second_degree <- V(graph)[to(first_degree)]
edges_subset <- E(graph)[to(first_degree) | to(second_degree)]
desired_subset <- subgraph.edges(graph, edges_subset)

感谢您给我的任何建议!

这不是最优雅的解决方案,但似乎可行。

 ego.list <- make_ego_graph(graph, order=2, nodes=V(graph)$condition=="something")

   desired_subset <- NULL
   for (i in seq_along(ego.list)){
   x <- ego.list[[i]]
   desired_subset <- graph.union(desired_subset, x)
}