首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从tidygraph包获取边缘数据

从tidygraph包获取边缘数据
EN

Stack Overflow用户
提问于 2020-09-21 17:59:32
回答 2查看 1.4K关注 0票数 5

这应该很简单,但我还是被困在这个手术里了。我感兴趣的是提取块边缘数据: 23,502,x3,并指出节点的名称。简而言之,我需要知道每一对节点的权重。

代码:

代码语言:javascript
复制
# A tbl_graph: 11539 nodes and 23502 edges
#
# An undirected simple graph with 2493 components
#
# Node Data: 11,539 x 3 (active)
  name            neighbors groups
  <chr>               <dbl>  <int>
1 CHANSATITPORN N         1   1540
2 POBKEEREE V             1   1540
3 SAINIS G                4    361
4 HARITOS G               4    361
5 KRIEMADIS T             4    361
6 PAPASOLOMOU I           3    361
# … with 11,533 more rows
#
# Edge Data: 23,502 x 3
   from    to weight
  <int> <int>  <dbl>
1     1     2      1
2     3     4      2
3     3     5      2
# … with 23,499 more rows
EN

回答 2

Stack Overflow用户

发布于 2021-03-30 17:37:41

提取边,然后与节点连接以获得接受的答案中的名称是直观的,但需要很多步骤。

使用igraph::get.edgelist (第二个答案)的方法丢失了存储在边缘(问题:权重)中的附加信息。

这是一个应该有效的解决方案。

代码语言:javascript
复制
your_tbl_graph %>% 
  activate(edges) %>% 
  mutate(to_name = .N()$name[to], 
         from_name = .N()$name[from]) %>% 
  as_tibble() %>% 
  select(from = from_name, to = to_name, weight)
票数 5
EN

Stack Overflow用户

发布于 2021-01-29 21:23:18

Load package igraph()并将函数get.edgelist()应用于激活的边缘集。为了获得适当的输出,随后还应用data.frame()。你会找到那个叫艾德格尔的医生。

代码语言:javascript
复制
library(igraph)
edge_list <-
tg %>%
activate(edges) %>%
get.edgelist() %>%
data.frame()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63997659

复制
相关文章

相似问题

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