r语言 - 在 Igraph 中调用顶点



这个问题与Igraph中顶点的调用有关。

假设我们有一个有向图

g<-graph(c(1:10),directed=T)

我想找到指向顶点 2 的顶点。

假设您要找到指向"顶点 1"的顶点。

为什么使用"to"条件不起作用

V(g)[to(1)]

而是这个?

V(g)[nei(1,"to")]

它对我有用?

> g<-graph(c(1:10),directed=T)
> V(g)[to(1)]
Vertex sequence:
[1] 2
> V(g)[nei(1,"to")]
Vertex sequence:
[1] 2

就我个人而言,我喜欢使用边缘列表。或者,您可以像这样操作:

# Get edgelist:
E <- get.edgelist(g)
# To 1 in directed graph:
E[E[,2]==1,1]
# Connected to 1 in undirected graph:
c(E[E[,2]==1,1],E[E[,1]==1,2])

to仅适用于边序列;例如,E(g)[to(1)]为您提供指向顶点 1 的所有边。恕我直言,这是非常合乎逻辑的,因为顶点不会"指向"任何地方(边缘会),因此使用 fromto 是没有意义的。

此外,使用nei的"官方"方式是nei(1, "out")而不是nei(1, "to")尽管"to"也可能有效。您也可以使用outnei(1)

免责声明:我是igraph的作者之一,尽管我没有编写R接口,因此可能比我上面解释的原因更好。

最新更新