按边权重选择顶点

时间:2013-12-02 15:32:37

标签: r graph igraph edge vertex

我的网络有两种类型的边缘,一种是edge$weight=1,另一种是edge$weight=2(用于定义不同的关系,例如婚姻与亲属关系)。我想选择由edge$weight=2链接的节点的邻居。然后,在获取邻居的顶点名称后,我将仅计算edge$weight=1的程度。

看起来很简单,但以下代码没有给出正确的邻居名称:

V(net)[E(net)[E(net)$weight==2]]

是否有其他方法可以获得相对于边缘类型的顶点名称?

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找adj函数,该函数将返回与给定边集相邻的顶点。在您的情况下,您可以使用V(net)[ adj(E(net)$weight==2) ]

选择所有相关顶点

例如:

# make a sample graph with edge weights 1 or 2
net <- graph.full(20)
E(net)$weight <- sample(1:2,ecount(net),replace=T)

# now select only those vertices connected by an edge with weight == 2
V(net)[ adj(E(net)$weight==2) ]