In a previous post I wrote about highlighting a subgraph of a larger network graph. In response to this post, I was asked how extract a subgraph from a larger graph while retaining all essential characteristics among the extracted nodes.
Vinay wrote:
Dear Will,
The code is well written and only highlights the members of a subgraph. I need to fetch them out from the main graph as a separate subgraph (including nodes and edges). Any suggestions please.Thanks.
Extract subgraph
For a given list of subgraph members, we can extract their essential characteristics (i.e., tie structure and attributes) from a larger graph using the iGraph function induced.subgraph()
. For instance,
library(igraph) # Load R packages set.seed(654654) # Set seed value, for reproducibility g <- graph.ring(10) # Generate random graph object E(g)$label <- runif(10,0,1) # Add an edge attribute # Plot graph png('graph.png') par(mar=c(0,0,0,0)) plot.igraph(g) dev.off() g2 <- induced.subgraph(g, 1:7) # Extract subgraph # Plot subgraph png('subgraph.png') par(mar=c(0,0,0,0)) plot.igraph(g2) dev.off()
Subgraph
Dear Will,
The code written is quite easy to understand, and well written.