首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过指定端点删除边缘

通过指定端点删除边缘
EN

Stack Overflow用户
提问于 2016-12-28 21:17:17
回答 2查看 491关注 0票数 1

如何通过命名图的端点来删除图形中的边?

delete_edges期望边缘数,我不清楚端点和边缘数之间的映射。

代码语言:javascript
运行
复制
library(igraph)
g = make_ring(10)

假设我想删除节点7和8与节点9和10之间的顶点。

这样做的一种方法是:

代码语言:javascript
运行
复制
g = delete_edges(g, c(7, 9))

但我必须仔细检查E(g)的输出,然后才能确定这些边沿编号为7& 9。

我试着寻找print方法如何将节点映射分配给E(g),但它看起来就像兔子洞。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-28 21:24:59

看起来,您可以使用字符串参数来完成这一任务--参见?delete_edges中的第二个示例。

代码语言:javascript
运行
复制
g = delete_edges(g, c("7|8", "9|10"))
g
# IGRAPH U--- 10 8 -- Ring graph
# + attr: name (g/c), mutual (g/l), circular (g/l)
# + edges:
# [1] 1-- 2 2-- 3 3-- 4 4-- 5 5-- 6 6-- 7 8-- 9 1--10

显然,c("7|8", "9|10")也被算作edges参数中描述的“边缘序列”。

票数 2
EN

Stack Overflow用户

发布于 2022-07-31 10:40:59

注意:

代码语言:javascript
运行
复制
get.edge.ids(g, c(7,8, 9, 10))

将返回边ids 7,9。

代码语言:javascript
运行
复制
delete_edges(g, get.edge.ids(g, c(7,8, 9, 10)))

产生预期的结果:

代码语言:javascript
运行
复制
1] 1-- 2 2-- 3 3-- 4 4-- 5 5-- 6 6-- 7 8-- 9 1--10
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41369830

复制
相关文章

相似问题

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