过去几个月来我一直在研究igraph,很高兴找到Thomas Lin Pedersen @ thomasp85开发的可将igraph与tidyverse方法相协调的tidygraph程序包。
我目前正在将我的igraph代码转换为Tidygraph,并且陷入了一些我认为应该相对简单的事情。
在igraph中,我将使用subcomponent和归纳的subgraph来对图进行子集化
在Tidygraph中,我了解到我应该改用morph或convert,并且该子组件实际上是BFS,但被代码所困扰。任何帮助将非常感激。
library(tidygraph)
library(visNetwork)
# sample graph
g <- tidygraph::create_tree(8,2) %>%
activate(nodes) %>%
mutate(label = LETTERS[1:8])
visIgraph(g,layout="layout_as_tree", flip.y=F,idToLabel = F)
#Using igraph returns nodes B, D, E, H
SubTree = igraph::subcomponent(g, which(igraph::V(g)$label == "B") , mode = "out")
igraph::induced_subgraph(g,SubTree) %>% as_tbl_graph()
#How to do the same in tidygraph?
g %>% convert(to_bfs_tree,root=igraph::V(g)$label == "B",mode="out")