根据节点ID选择所有连接节点的子图 [英] select subgraph of all connected nodes based on node id

查看:11
本文介绍了根据节点ID选择所有连接节点的子图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个由3个子图组成的图:

 person1 <- c(0, 0, 1, 3, 6)
 person2 <- c(1, 2, 4, 5, 7)


 id <- c(0,1, 2, 3, 4, 5, 6, 7)
 person <- c("Marc", "Marc","Eric", "Alan", "Henri", "Adele", "Wil", "Marc")

 nodes <- data.frame(id, person,  stringsAsFactors = FALSE)

 union_edges <- data.frame(person1, person2)


 library(igraph)
 family_tree <- graph_from_data_frame(union_edges)
 plot(family_tree)

如何根据节点ID选择所有连接节点的子图?例如,选择一个节点(1、2、4或0)将显示下列子图:

推荐答案

查看连接的群集:

comps <- components(family_tree)
ids <- names(comps$membership)[comps$membership == comps$membership["1"]]
#[1] "0" "1" "2" "4"

plot(induced_subgraph(family_tree, V(family_tree)[ids]))

这篇关于根据节点ID选择所有连接节点的子图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆