如何在igraph中提取子图
How to extract subgraph in igraph
我想围绕该节点提取一个子图。
library(visNetwork)
library(igraph)
library(dplyr)
g<-data.frame(a=c(LETTERS[1:5], LETTERS[2:6]),b=c(LETTERS[2:6], LETTERS[7:11])) %>%
as.matrix %>% graph.edgelist()
visIgraph(g) %>%
visHierarchicalLayout(sortMethod = "directed",
direction = "LR",levelSeparation = 300)
我想从 "D" 开始提取子图,像这样
data.frame(a=c(LETTERS[1:5], LETTERS[2:6]), b=c(LETTERS[2:6], LETTERS[7:11])) %>%
as.matrix %>% .[c(4,5,8,9,10),1:2] %>%
graph.edgelist() %>% visIgraph() %>%
visHierarchicalLayout(sortMethod = "directed",
direction = "LR", levelSeparation = 300)
有办法得到吗?谢谢
您是否尝试过 induced.subgraph() 函数?
new.vertices<- V(g)[-c(1,2,3,7,8)]
g.sub <- induced.subgraph(graph = g, new.vertices)
visIgraph(g.sub) %>%
visHierarchicalLayout(sortMethod = "directed",
direction = "LR",levelSeparation = 300)
我想围绕该节点提取一个子图。
library(visNetwork)
library(igraph)
library(dplyr)
g<-data.frame(a=c(LETTERS[1:5], LETTERS[2:6]),b=c(LETTERS[2:6], LETTERS[7:11])) %>%
as.matrix %>% graph.edgelist()
visIgraph(g) %>%
visHierarchicalLayout(sortMethod = "directed",
direction = "LR",levelSeparation = 300)
我想从 "D" 开始提取子图,像这样
data.frame(a=c(LETTERS[1:5], LETTERS[2:6]), b=c(LETTERS[2:6], LETTERS[7:11])) %>%
as.matrix %>% .[c(4,5,8,9,10),1:2] %>%
graph.edgelist() %>% visIgraph() %>%
visHierarchicalLayout(sortMethod = "directed",
direction = "LR", levelSeparation = 300)
有办法得到吗?谢谢
您是否尝试过 induced.subgraph() 函数?
new.vertices<- V(g)[-c(1,2,3,7,8)]
g.sub <- induced.subgraph(graph = g, new.vertices)
visIgraph(g.sub) %>%
visHierarchicalLayout(sortMethod = "directed",
direction = "LR",levelSeparation = 300)