# subgraph: Subgraph of a graph In igraph: Network Analysis and Visualization

 subgraph R Documentation

## Subgraph of a graph

### Description

`subgraph()` creates a subgraph of a graph, containing only the specified vertices and all the edges among them.

### Usage

``````subgraph(graph, vids)

induced_subgraph(
graph,
vids,
impl = c("auto", "copy_and_delete", "create_from_scratch")
)

subgraph.edges(graph, eids, delete.vertices = TRUE)
``````

### Arguments

 `graph` The original graph. `vids` Numeric vector, the vertices of the original graph which will form the subgraph. `impl` Character scalar, to choose between two implementation of the subgraph calculation. ‘`copy_and_delete`’ copies the graph first, and then deletes the vertices and edges that are not included in the result graph. ‘`create_from_scratch`’ searches for all vertices and edges that must be kept and then uses them to create the graph from scratch. ‘`auto`’ chooses between the two implementations automatically, using heuristics based on the size of the original and the result graph. `eids` The edge ids of the edges that will be kept in the result graph. `delete.vertices` Logical scalar, whether to remove vertices that do not have any adjacent edges in `eids`.

### Details

`induced_subgraph()` calculates the induced subgraph of a set of vertices in a graph. This means that exactly the specified vertices and all the edges between them will be kept in the result graph.

`subgraph.edges()` calculates the subgraph of a graph. For this function one can specify the vertices and edges to keep. This function will be renamed to `subgraph()` in the next major version of igraph.

The `subgraph()` function currently does the same as `induced_subgraph()` (assuming ‘`auto`’ as the `impl` argument), but this behaviour is deprecated. In the next major version, `subgraph()` will overtake the functionality of `subgraph.edges()`.

### Value

A new graph object.

### Author(s)

Gabor Csardi csardi.gabor@gmail.com

Other structural.properties: `bfs()`, `component_distribution()`, `connect()`, `constraint()`, `coreness()`, `degree()`, `dfs()`, `distance_table()`, `edge_density()`, `feedback_arc_set()`, `girth()`, `is_dag()`, `is_matching()`, `knn()`, `laplacian_matrix()`, `reciprocity()`, `subcomponent()`, `topo_sort()`, `transitivity()`, `unfold_tree()`, `which_multiple()`, `which_mutual()`

Other structural.properties: `bfs()`, `component_distribution()`, `connect()`, `constraint()`, `coreness()`, `degree()`, `dfs()`, `distance_table()`, `edge_density()`, `feedback_arc_set()`, `girth()`, `is_dag()`, `is_matching()`, `knn()`, `laplacian_matrix()`, `reciprocity()`, `subcomponent()`, `topo_sort()`, `transitivity()`, `unfold_tree()`, `which_multiple()`, `which_mutual()`

Other structural.properties: `bfs()`, `component_distribution()`, `connect()`, `constraint()`, `coreness()`, `degree()`, `dfs()`, `distance_table()`, `edge_density()`, `feedback_arc_set()`, `girth()`, `is_dag()`, `is_matching()`, `knn()`, `laplacian_matrix()`, `reciprocity()`, `subcomponent()`, `topo_sort()`, `transitivity()`, `unfold_tree()`, `which_multiple()`, `which_mutual()`

### Examples

``````
g <- make_ring(10)
g2 <- induced_subgraph(g, 1:7)
g3 <- subgraph.edges(g, 1:5, 1:5)

``````

igraph documentation built on Aug. 10, 2023, 9:08 a.m.