查找可以到达一组其他顶点的所有顶点 [R 中的 igraph 包]

Find all vertices that can reach a set of other vertices [igraph package in R]

如何使用 R 中的 igraph 包在有向图中找到可以到达一组其他顶点的所有顶点?

我能够为单个顶点找到它们(例如,对于可以到达顶点 4 的所有顶点):

subcomponent(g, 4, mode="in")

但是,如何用一组具有相似结果的许多顶点替换“4”?如果我给默认函数很多顶点,它似乎 return 只有可以到达所有给定顶点的顶点。我想找到可以到达任何给定顶点的所有顶点...

谢谢

您可以使函数 subcomponent 为参数 v:

采用参数向量
g <- erdos.renyi.game(100, 1/200)
mySet <- c(1,2,3)
modified <- Vectorize(igraph:::subcomponent, vectorize.args = "v")
modified(g, mySet, "in")

也可以使用 apply 函数或循环

sapply(mySet, subcomponent, graph=g, mode="in")