我有下一张图,
library(igraph)
library(Cairo)
g<-graph(c(0,1,0,4,0,9,1,7,1,9,2,9,2,3,2,5,3,6,3,9,4,5,4,8,5,8,6,7,6,8,7,8),n=10,dir=FALSE)
V(g)$name<-c(1:10)
V(g)$label<-V(g)$name
coords <- c(0,0,13.0000,0,5.9982,5.9991,7.9973,7.0009,-1.0008,11.9999,0.9993,11.0002,7.9989,13.0009,10.9989,14.0009,5.9989,14.0009,7.0000,4.0000)
coords <- matrix(coords, 10,2,byrow=T)
plot(g,layout=coords)
我想要获得 4 、 5...n 个顶点的周期,例如在这些图中我想要获得 5 个周期,
1 10 3 6 5
2 8 7 4 10
3 4 7 9 6
我不想要像这样的循环
1 2 8 9 5
其顶点在此循环内。
最佳答案
我认为首先,让我们稍微修改一下您的代码,以便人们更容易“开箱即用”地生成图表。
此代码不需要 Cairo,因此我们将其删除。将图形创建行替换为以下两行:
your.nodes<-c(0,1,0,4,0,9,1,7,1,9,2,9,2,3,2,5,3,6,3,9,4,5,4,8,5,8,6,7,6,8,7,8)
g<-graph(your.nodes+1,dir=FALSE)
your.nodes+1
存在是因为 graph()/igraph 以特殊方式处理 0 id。也许是不同时间的话题。
此时,您应该能够从最后一行开始绘制图表。 Plot of igraph
现在看看这个图,我想知道为什么不需要 1 2 8 9 5
。我想我不确定“循环内的顶点”是什么意思。至于获得基本周期,请查看 fundCycles()
来自ggm
包。
(PS:另外,很抱歉将此作为答案发布。我没有足够的声誉点来在评论中询问此问题,并嵌入图片。)
关于r - 如何使用 R + Igraph 获得基本周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10090759/