只计算大小为k的图案子集

时间:2016-08-04 19:27:50

标签: igraph

我想在树形图中计算大小为4的图案:

library(igraph)
g <- barabasi.game(100)
census.motifs <- motifs(g, size=4)[c(4,8,13,30)]

有217个可能的图形有4个顶点,但只有4个可以出现在有向根树中。

有没有办法告诉igraph它只需要寻找那些4?或者更快/更聪明的方法来做到这一点?

1 个答案:

答案 0 :(得分:1)

使用ergm包http://svitsrv25.epfl.ch/R-doc/library/ergm/html/ergm-terms.html

可以将有向根树中的四个图案计为k-instars

k-instar是一组共享一个公共根的k个节点。如果n是树中节点的数量,则4个图案的计数将是3龄(完全连接)的数量,(n-3)倍于2龄的数量(两个边缘连接到根和一个其他节点),(n-2)选择1龄的数量的2倍(连接到根和另外两个节点的一个边缘),并且n选择4减去前三个计数的总和。你可以使用R,

library(intergraph)
library(ergm)
library(igraph)
n <- 100
g <- barabasi.game(n)
kistars <- summary(asNetwork(g)~istar(1:3))
kistars[3]
(n-3)*kistars[2]
choose(n-2,2)*kistars[1]
choose(n,4)*sum(kistars)