在网络中,我找到了一些特定的节点,例如3、4、5和初始节点9。我想为这些边缘添加权重,以后需要调用。
更具体:我需要为edge:(3,9),(4,9),(5,9)添加权重。最近,我需要回想一下这些权重以进行一些计算,即我需要a="(3,9)'s weights"
这样的东西。
答案 0 :(得分:1)
由于您不提供任何数据,因此我将使用一个简单的示例,其中包含与您描述的链接相同的链接。
## A simple example
library(igraph)
set.seed(1234)
g = make_ring(10)
g = add_edges(g, c(3,9,4,9,5,9))
E(g)$weight = 1
LO = layout_nicely(g)
plot(g, layout=LO)
如果您具有“ Intitial节点”和“ Specific节点”,则可以识别“ Special Edges”。
## Get the ids of the special edges
InitialNode = 9
ConnectingNodes = c(3,4,5)
ENDS = as.vector(rbind(ConnectingNodes, InitialNode))
SpecialEdges = get.edge.ids(g, ENDS)
使用特殊边缘的ID,可以调整其权重。
## Add weight to the special edges
E(g)$weight[SpecialEdges] = c(2,4,6)
## plot to show the weights
plot(g, edge.width=E(g)$weight)
如果以后需要使用权重,可以使用以下方法访问权重:
E(g)$weight[SpecialEdges]
[1] 2 4 6