r - 删除igraph R中顶点之间的边

标签 r igraph edges

我有一个带有 10 个顶点和 10 个边的未加权和无向图(A)。

> A
IGRAPH UNW- 10 10 -- 
+ attr: name (v/c), weight (e/n)

我想从该图中删除由顶点对定义的一堆边,例如,我想删除以下边:
V4 -- V5
V3 -- V7
V3 -- V6

这些边存储在称为“边”的数据框中。我想一口气删除这些边。我试过:
> delete.edges(A,t(edges))

但这不起作用并返回错误:
Error in as.igraph.es(graph, edges) : Invalid edge names
In addition: Warning message:
In as.igraph.es(graph, edges) : NAs introduced by coercion

当添加边的等效命令有效时,为什么这不起作用?

add.edges(A,t(edges))



如何在一个命令中从图 A 中删除这些边?谢谢

最佳答案

可能最简单的方法是将图用作邻接矩阵:

library(igraph)
g <- graph.ring(10)
V(g)$name <- letters[1:10]
str(g)
# IGRAPH UN-- 10 10 -- Ring graph
# + attr: name (g/c), mutual (g/l), circular (g/l), name (v/c)
# + edges (vertex names):
#  [1] a--b b--c c--d d--e e--f f--g g--h h--i i--j a--j


g[ from=c("a","b","c"), to=c("b","c","d") ] <- 0
str(g)
# IGRAPH UN-- 10 7 -- Ring graph
# + attr: name (g/c), mutual (g/l), circular (g/l), name (v/c)
# + edges (vertex names):
# [1] d--e e--f f--g g--h h--i i--j a--j

查看更多 http://igraph.org/r/doc/graph.structure.html .

关于r - 删除igraph R中顶点之间的边,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24324009/

相关文章:

r - 回归模型如何处理因子变量?

R计算图中子图/组件的数量

r - 写入文件时如何重命名 igraph 节点 ID

javascript - 如何将 vis.js 中的箭头更改为鸡脚或基数

python - 是否可以在 Networkx 图中混合不同形状的节点?

Python 网络 x : find all edges for a given path in a multiDiGraph

r - 是否将任意R对象存储到HDD?

r - 在 R 中对以函数作为参数的函数进行积分

R 包 'ps' 安装失败,因为在安装的最后一步中对 mv 的权限被拒绝

r - 如何在R中找到矩阵/网络/图形的所有可能的 "continuous"路径