[英]How do I generate an edge between nodes based on the node attribute values in igraph in R?
[英]In R package igraph, how can I normalize an edge attribute by dividing the edge attribute by a node attribute of the out-node?
基本上,如何将相同节点属性的划分应用于以该节点为边缘来源的所有边缘。 例如,这可以用于对邻接矩阵进行行归一化。
假设权重位于名为weight
的边属性中,则可以执行以下操作:
E(g)$weight / strength(g, mode="out")[get.edgelist(g)[,1]]
基本思想是, strength(g)
为每个顶点提供入射在其上的边缘的权重之和。 mode="out"
确保仅考虑出站边缘。 然后,使用边缘列表的第一列(即每个边缘的源顶点)对强度矢量进行索引,以获得一个矢量,其中每个元素都属于一条边缘,并告诉其源顶点的总权重。 然后,您将实际的权重矢量与此元素相除。
如果权重在另一个属性中,则必须将该属性的名称传递给strength()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.