计算网络中的周期

时间:2013-01-14 13:42:59

标签: r social-networking graph-theory igraph

最好的方法是什么,或者是否有任何方法可以计算网络中的3个和4个周期。

从一个模式网络计算3个周期相等的三个节点(三角形)的连接组 从两个模式网络计算4个周期相等的四个节点(正方形)连接组

如果我有这样的网络:

onemode <- read.table(text= "start end
                              1    2
                              1    3
                              4    5
                              4    6
                              5    6",header=TRUE)

twomode <- read.table(text= "typa typev
                              aa    a
                              bb    b
                              bb    a
                              aa    b",header=TRUE)

我想

 library(igraph)
 g <- graph.data.frame(twomode)
 E(g)
 graph.motifs(g, size = 4) 

会计算我的两个模式网络中的方块数,但我不理解输出。我以为结果会是1

2 个答案:

答案 0 :(得分:3)

?graph.motifs

  

graph.motifs在图表中搜索给定大小的图案并返回a   包含不同图案数量的数字向量。的顺序   motifs由它们的同构类定义,参见graph.isoclass。

所以这个输出是数字向量,其中每个值是图表中某个主题(大小为4或3)的计数。

 graph.motifs(g,size=4)

要获取图案的总数,可以使用graph.motifs.no

graph.motifs.no(g,size=4)
[1] 1

主题20的数量

which(graph.motifs(g,size=4) >0)
[1] 20

答案 1 :(得分:0)

另一个可能更容易使用的功能是kcycle.census {sna}。详情:http://svitsrv25.epfl.ch/R-doc/library/sna/html/path.census.html