我的网络有两种类型的边缘,一种是edge$weight=1
,另一种是edge$weight=2
(用于定义不同的关系,例如婚姻与亲属关系)。我想选择由edge$weight=2
链接的节点的邻居。然后,在获取邻居的顶点名称后,我将仅计算edge$weight=1
的程度。
看起来很简单,但以下代码没有给出正确的邻居名称:
V(net)[E(net)[E(net)$weight==2]]
是否有其他方法可以获得相对于边缘类型的顶点名称?
答案 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) ]