我正在尝试使用包igraph
在R中挖掘3节点图案。我想检索图中每个单独顶点的图案数量,这在 graph.motifs() 函数中似乎不可能。
因此,对于示例图:
testGraph = barabasi.game(10,
m = 5,
power = 2,
out.pref = TRUE,
zero.appeal = 0.5,
directed = TRUE)
我可以使用graph.motifs()
来计算整个图中每个3节点motif的总数:
graph.motifs(testGraph,
size = 3)
[1] 0 0 26 0 16 0 2 58 0 0 0 0 0 0 0 0
但我想知道各个顶点的参与情况。那么,顶点 1 参与了多少个主题(以及什么类型)?有人知道一个简单的方法吗?
最佳答案
这里有一个快速操作方法。
如果您对顶点 A 的三元组感兴趣,则首先创建包含 A 及其直接邻居的导出子图。您可以通过 neighborhood()
和 induced.subgraph()
或简单地使用 graph.neighborhood()
来完成此操作。
然后在这个子图中找到主题,但不是使用graph.motifs()
,而是使用triad.census()
,因为这会计算所有可能的三元组,即使是非连接的。
然后从该子图中删除A,并再次调用triad.census()
。两个计数向量的差异将恰好是包含 A 的主题。
关于r - 如何使用 iGraph 在 R 中挖掘主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12374534/