首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从一组节点和集合中生成一个唯一的完全无向图集

从一组节点和集合中生成一个唯一的完全无向图集
EN

Stack Overflow用户
提问于 2022-03-11 02:41:52
回答 1查看 30关注 0票数 1

我有一个这样的tibble

代码语言:javascript
复制
Nodes <- tibble(
  Set = c("A","A","A","B","B","C"),
  name = c(1,2,3,4,6,5)
)

我想生成一个以Nodes作为nodes集的图,并且

代码语言:javascript
复制
Edges <- tibble(
from = c(1,1,4),
to = c(2,3,6)
)

作为edges。当然,我想将这个过程推广到任何Nodes。我认为我可以用purrr编写这段代码,但我希望igraph更快,更少麻烦。

从理论上讲,这与以下几点并没有什么不同:

代码语言:javascript
复制
Nodes %>% group_as(Set) %>% complete_graph(by = "name")

但我不确定像complete_graph()这样的命令是否存在。它存在play_islands(),但是它的工作方式不同,它假设n(Set)是固定的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-11 09:15:57

尝试从make_full_graphigraph

代码语言:javascript
复制
with(
  Nodes,
  do.call(
    rbind,
    Map(
      function(v) {
        get.data.frame(
          set_vertex_attr(
            make_full_graph(length(v)),
            name = "name", value = v
          )
        )
      },
      split(name, Set)
    )
  )
)

这给

代码语言:javascript
复制
    from to
A.1    1  2
A.2    1  3
A.3    2  3
B      4  6
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71433071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档