给定一个图 fg,我的例子:
library("igraph")
fg <- feature.graph <- graph.empty()
fg <- fg + vertices("root", "ho", "ha", value=c(1,2,3)) +
edges(c("root", "ho", "root", "ha"), label=c("en", "an"), prob=c(0.2,0.8))
我提取了一个感兴趣的边缘:
> edge.of.interest <- E(fg)[from("root")][[1]]
> edge.of.interest
Edge sequence:
e
e [1] root -> ho
现在获取此边缘的源或目标,我可以执行以下操作:
> get.edge(fg, edge.of.interest)
[1] 1 2
> get.edge(fg, edge.of.interest)[1]
[1] 1
> get.edge(fg, edge.of.interest)[2]
[1] 2
我本来希望有一个具有这种效果的函数源和目标:
> target(edge.of.interest)
2
我一直无法找到这个或等效的功能。通过 get.edge 的方法是最好的吗?
最佳答案
我知道这是一个老问题,但看起来我脑子里有一个答案。你的意思是 tail_of
和 head_of
吗?
> head_of(fg, edge.of.interest)$value
[1] 1
> tail_of(fg, edge.of.interest)$value
[1] 2
此外,如果同时需要两端,
ends
函数在这里可能很有用。
关于r - 在 igraph 中获取边的目标或源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26036312/