我在从实际网络的度数分布中获取igraph以生成网络统计(在这种情况下,社区数量)时遇到问题(为了评估计算出的网络中社区数量的重要性)。我正在关注Kolaczyk和Csardi的第80页,但它不起作用。
见下面的代码。我得到的错误信息是:" match.arg中的错误(arg = arg,choices = choices,few.ok = several .ok):' arg'应该是"简单"," v1",simple.no.multiple"。
这本书说使用" v1",但是我收到了错误消息。使用simple.no.multiple似乎有效,但我不知道它是否正确,因为它只给了我一个社区大小的频率。
我之前发过这个问题,它已被删除。我试图在这个网站上找到答案,但没有运气 - 有相关的东西,但不是那么接近。代码:
>degs<-degree(Jan18BSEGendered)
> num.comm.grg<-numeric(ntrials)
>#note, I had generated "degs" and "ntrials" earlier, as per the book
>for(i in (1:ntrials)){
+g.grg<-degree.sequence.game(degs, method="v1")
+c.grg<-fastgreedy.community(g.grg)
+num.comm.grg(i)<-length(c.grg)}
我非常感谢你的帮助。 约翰
答案 0 :(得分:2)
幸运的是,这是一个非常简单的解决方案。你的代码有method =“v1”,它应该是method =“vl”。不幸的是,“1”和“l”在courrier new中看起来非常相似。 vl代表Viger和Latapy,他们介绍了一种生成具有重尾分布的简单随机图的方法。希望这有帮助!