好吧,我正在使用igraph
包,我想用我给它们的顶点指定的名称来选择边缘,只是一个很小的例子。
library(igraph)
g <- barabasi.game(8)
labels<-c("G1","G2","G3","T1","T2","T3","H1","H2")
V(g)$name<-labels
现在我的边缘列表有这种形式
> E(g)
Edge sequence:
[0] G2 -> G1
[1] G3 -> G2
[2] T1 -> G2
[3] T2 -> G3
[4] T3 -> G1
[5] H1 -> G1
[6] H2 -> H1
我现在想要的是找到一种方法,而不是使用这个
E(g)[1%--%2]
执行更像E(g)[G2% - %G1](通过我指定的名称调用顶点),或者通过所涉及的顶点名称了解某些边缘属性的等效方法。< / p>
答案 0 :(得分:0)
这对于igraph的0.5分支是不可能的,但是开发版本(0.6)增加了对基于它们的name
属性而不是它们的数字ID引用顶点的支持。由于我不熟悉R接口,我不知道该怎么做。尝试订阅igraph-help mailing list并询问,因为这绝对是最近在igraph 0.6中解决的问题。
答案 1 :(得分:0)
将顶点名称括在引号中。这使得使用顶点数的输出相同。这适用于igraph 0.7.1。
例如:
> E(g)[1%--%8]
Edge sequence:
e
e [7] H2 -> G1
> E(g)['H2'%--%'G1']
Edge sequence:
e
e [7] H2 -> G1