gpt4 book ai didi

r - 在图形上将所有节点连接在一起

转载 作者:行者123 更新时间:2023-12-05 01:52:18 25 4
gpt4 key购买 nike

我有以下网络图:

library(tidyverse)
library(igraph)


set.seed(123)
n=5
data = tibble(d = paste(1:n))

relations = data.frame(tibble(
from = sample(data$d),
to = lead(from, default=from[1]),
))

graph = graph_from_data_frame(relations, directed=T, vertices = data)

V(graph)$color <- ifelse(data$d == relations$from[1], "red", "orange")

plot(graph, layout=layout.circle, edge.arrow.size = 0.2)

enter image description here

我想将每个节点连接到该图上的每个节点 - 我可以通过重新定义“关系”数据框来手动完成此操作:

relations_1 = data.frame("from" = c(1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5), "to" = c(2,3,4,5,1,3,4,5,1,2,4,5,1,2,3,5,1,2,3,4))

然后,我可以重新运行网络图:

graph = graph_from_data_frame(relations_1, directed=T, vertices = data) 

V(graph)$color <- ifelse(data$d == relations_1$from[1], "red", "orange")

plot(graph, layout=layout.circle, edge.arrow.size = 0.2)

enter image description here

  • 但是是否有一种方法可以直接使用“关系”数据框“自动”连接图中的所有点,而无需手动创建新的数据框“relations_1”?是否可以添加一行(或几行)代码来自动获取“关系”数据框并将所有内容连接在一起?

谢谢!

最佳答案

您可以使用 complete 更新 relations,然后过滤掉 from 等于 to 的行>,它给出了从一个节点到它自己的箭头。

relations <- relations %>% 
complete(from, to) %>%
dplyr::filter(from != to)

关于r - 在图形上将所有节点连接在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71671488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com