首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在某些边缘添加特定的权重?

如何在某些边缘添加特定的权重?
EN

Stack Overflow用户
提问于 2019-07-10 00:10:29
回答 1查看 143关注 0票数 1

在一个网络中,我发现了一些特定的节点,例如3,4,5和初始节点9。我想在这些边上增加权重,我需要在将来调用。

更具体的是:我需要在边缘添加权重:(3,9),(4,9),(5,9)。最近我需要回忆这些权重来做一些计算,也就是我需要像这样的a="(3,9)'s weights"

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-10 01:01:46

由于您没有提供任何数据,我将使用一个简单的例子,其中包含您所描述的链接。

代码语言:javascript
复制
## 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)

如果你有“惯性节点”和“特定节点”,你可以识别特殊的边缘。

代码语言:javascript
复制
## 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,您可以调整它们的权重。

代码语言:javascript
复制
## 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)

如果以后需要处理权重,可以使用以下方法访问权重:

代码语言:javascript
复制
E(g)$weight[SpecialEdges]
[1] 2 4 6
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56961872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档