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()

**Graph**

**Subgraph**

### Like this:

Like Loading...

*Related*

Dear Will,

The code written is quite easy to understand, and well written.