问问题
7220 次
2 回答
5
您收到错误是因为给定的顶点之一不在图形顶点列表中。一个建议是尝试使用igraph
函数,一旦你熟悉了它们,就将它应用到你的自定义图形中。这里有一个演示:
library(igraph)
g <- graph.ring(10)
V(g)
Vertex sequence:
[1] 1 2 3 4 5 6 7 8 9 10
现在我尝试删除现有的顶点:
delete.vertices(g, c(2,7,9) )
IGRAPH U--- 7 4 -- Ring graph
+ attr: name (g/c), mutual (g/x), circular (g/x)
对于不存在的,我得到你的错误:
delete.vertices(g, c(20))
Error in delete.vertices(g, c(20)) :
At iterators.c:759 : Cannot create iterator, invalid vertex id, Invalid vertex id
于 2013-02-27T09:03:14.927 回答
1
你在用 igraph 吗?
read.graph 函数可能会将顶点 ID 作为字符串读取。在这种情况下,您可能想要:
delete.vertices(graph,c('717527','61373'))
反而。此外,delete.verticies 返回一个新的图形对象。如果您希望稍后显示更改,您需要确保将结果存储在图表中。
graph<-read.graph(paste0("H:/graph.txt"),format="ncol",directed="TRUE")
graph<-delete.vertices(graph,c('717527','61373'))
于 2015-06-20T04:38:22.667 回答