gpt4 book ai didi

r - 在 igraph 中组合/合并两个图

转载 作者:行者123 更新时间:2023-12-01 11:18:06 24 4
gpt4 key购买 nike

我使用 igraph 创建了以下两个图表:

t1terms <- c("fire",
"people",
"residents",
"victims",
"affected",
"please",
"can",
"london",
"support",
"survivors")

t1labels <- as.vector(t1terms)

g<-graph.full(n=10, directed = FALSE, loops = FALSE) %>%
set_vertex_attr("label", value = t1labels)


t2terms <- c("fire",
"victims",
"says",
"people",
"cladding",
"police",
"may",
"will",
"dead",
"theresa")

t2labels <- as.vector(t2terms)

g1<-graph.full(n=10, directed = FALSE, loops = FALSE) %>%
set_vertex_attr("label", value = t2labels)

我不知道如何在不复制公共(public)节点的情况下合并两个图。我真的很感激一些帮助。我试过'graph.union',但没有用。

谢谢,

查米尔

最佳答案

使用igraph的内置约定并使顶点 label进入每个的name :

V(g)$name <- V(g)$label
V(g1)$name <- V(g1)$label

抓取每个图的属性和边列表, rbind()它们在一起,创建一个组合属性 data.frame和组合边列表 data.frame同时确保您只保留 unique() vertices :
attrs <- rbind(as_data_frame(g, "vertices"), as_data_frame(g1, "vertices")) %>% unique()
el <- rbind(as_data_frame(g), as_data_frame(g1))

使用 attrsel制作新图表:
new_g <- graph_from_data_frame(el, directed = FALSE, vertices = attrs)

关于r - 在 igraph 中组合/合并两个图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48000074/

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