5

最好的方法是什么,或者是否有任何实现的方法是计算网络中的 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

4

2 回答 2

3

?graph.motifs

graph.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
于 2013-01-14T14:42:10.990 回答
0

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

于 2015-07-15T14:42:06.173 回答