我想在树形图中计算大小为4的图案:
library(igraph)
g <- barabasi.game(100)
census.motifs <- motifs(g, size=4)[c(4,8,13,30)]
有217个可能的图形有4个顶点,但只有4个可以出现在有向根树中。
有没有办法告诉igraph它只需要寻找那些4?或者更快/更聪明的方法来做到这一点?
答案 0 :(得分:1)
使用ergm包http://svitsrv25.epfl.ch/R-doc/library/ergm/html/ergm-terms.html
可以将有向根树中的四个图案计为k-instarsk-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)