R中的igraph,如何根据入射顶点属性选择边?

时间:2014-08-20 20:14:06

标签: r attributes igraph edges subgraph

我正在寻找一种基于至少一个入射在该边缘上的顶点的顶点属性得分的子图边缘的方法。

有一种简单的方法吗?

有什么建议吗?

1 个答案:

答案 0 :(得分:7)

此问题缺少reproducible example或任何类型的示例数据。我会根据我的猜测来冒险并回答是被问到的。首先,我将创建一个示例图并分配任意" prop"每个顶点的值。假设我对prop>=3感兴趣并绘制它们,我会给它们着色。

library(igraph)

gg <- graph.atlas(711)
V(gg)$name <- 1:7
V(gg)$prop <- c(1,2,2,3,3,1,1)
V(gg)$color <- ifelse(V(gg)$prop>=3, "orange","yellow")
plot(gg)

full graph

现在,我可以找到所有与prop>=3

的顶点连接的边
E(gg)[inc(V(gg)[prop>=3])]
# Edge sequence:
#            
# [3]  4 -- 3
# [4]  5 -- 4
# [5]  6 -- 5
# [10] 5 -- 3

如果我喜欢,我可以使用

将其提取到子图中
g2 <- subgraph.edges(gg, E(gg)[inc(V(gg)[prop>=3])])
plot(g2)

sub-graph