繁体   English   中英

从igraph.es(边缘序列)到R中的节点

[英]From igraph.es (edge sequence) to nodes in R

我想根据它们连接的节点的值(当然是在R igraph中)设置图形中一定范围的边的边属性。

当我在图形对象中检索某个边缘时,会得到一个边缘序列对象:

E(g)[1]
# + 1/2080 edge (vertex names):
# [1] 35->1
class(E(g)[1])
# [1] "igraph.es"

如何从该边缘序列获得实际边缘? 我发现的唯一相关功能是as_ids

as_ids(E(g)[1])
# [1] "35|1"    

然后,我必须拆分字符串以获取节点ID,将ID转换为整数,使用V(g)[x]表示法获取节点,检查我感兴趣的属性,最后设置edge属性。

这是不切实际且浪费的过程。 有没有更简单的方法可以做到这一点?

我知道%--%表示法,在某些情况下,它允许我预先根据节点属性过滤边缘,从而解决了我的问题。 但是在许多其他情况下,这种表示法无济于事(当边缘属性值与节点属性之间具有更复杂的关系时),我想知道是否存在一种更通用的方法来从一个边缘序列到达相应的一对节点。

您可以使用ends函数到达顶点:

ends(g, E(g)[1])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM