r - 如何为某些边缘添加特定权重?
问题描述
在网络中,我找到了一些特定的节点,例如 3、4、5 和初始节点 9。我想为这些边添加权重,我需要在未来调用。
更具体地说:我需要为边缘添加权重:(3,9),(4,9),(5,9)。最近我需要回忆那些权重来做一些计算,即我需要 a="(3,9)'s weights"
这样的东西。
解决方案
由于您没有提供任何数据,我将使用一个简单的示例,其中包含您描述的链接。
## 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)
如果您有“初始节点”和“特定节点”,则可以识别特殊边缘。
## 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
推荐阅读
- java - Java中下个月的最后日期
- scala - 在一台机器上使用 spark-submit 在不同机器上运行相同的 JAR 崩溃
- java - Jenkins 中的 Groovy 脚本 - MultipleCompilationErrorsException
- java - Java 的 toString() 静态或非静态(基于我的示例)
- django - 在 django 中以 python 包的形式集成汗水警报2
- reactjs - 在顶层使用带有上下文 api 的 useSelector 挂钩以提高性能
- matlab - 如何改变点云中平面的位置?
- mongodb - MongoDB Mongoose 在日期范围内选择文档
- javascript - ajax数据表,无法检索数据
- jquery - 请求了不受支持的 HTTP 方法“OPTIONS”,而我设置为 HTTP 方法:“POST”