加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何用iGraph挖掘R中的图案

发布时间:2020-12-14 05:14:18 所属栏目:大数据 来源:网络整理
导读:我正在尝试使用包igraph来挖掘R中的3节点图案.我想检索图中每个顶点的图案数量,这在graph.motifs()函数中是不可能的. 因此,对于示例图: testGraph = barabasi.game(10,m = 5,power = 2,out.pref = TRUE,zero.appeal = 0.5,directed = TRUE) 我可以使用graph
我正在尝试使用包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节点图案的总数:

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()和indu.subgraph()或者只用graph.neighborhood()来做到这一点.

然后找到这个子图中的主题,但不是使用graph.motifs(),而是使用triad.census(),因为它计算所有可能的三元组,甚至是非连接的三元组.

然后从该子图中删除A,再次调用triad.census().两个计数向量的差异将是包含A的主题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读