【问题标题】:Choosing vertices by edge weight按边权重选择顶点
【发布时间】:2013-12-18 09:00:10
【问题描述】:

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

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

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

是否有另一种方法可以获取与边类型相关的顶点名称?

【问题讨论】:

  • 你能做一个可重现的例子吗?以下是一些关于如何开始的提示:stackoverflow.com/questions/5963269/…
  • 如果节点 'a' 用两种边链接到 'b' 怎么办?还是“c”?有一个例子确实很好。

标签: r graph igraph vertex edges


【解决方案1】:

我认为您正在寻找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) ]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-14
    • 1970-01-01
    • 1970-01-01
    • 2011-06-30
    • 2021-12-07
    • 1970-01-01
    相关资源
    最近更新 更多