1

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

假设我们有一个有向图

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

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

假设您想找到指向“指向”顶点 1 的顶点。

为什么不使用“to”条件工作

V(g)[to(1)]

而是这个?

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

4

2 回答 2

1

这个对我有用?

> 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])
于 2012-08-14T11:51:47.527 回答
0

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

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

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

于 2012-08-14T09:19:16.197 回答