Skip to contents

filter a graph / create an ego graph by term and by the number of its neighbors

Usage

filter_ego(edges, nodes = NULL, filter_by, n_neighbours = 1, as_tbl = TRUE)

Arguments

edges

an edge dataframe

nodes

a node dataframe

filter_by

a term to filter the ego graph

n_neighbours

the number of neighbors

as_tbl

if TRUE, return a tbl_graph, if FALSE, return an igraph object

Examples

# creating sample data
nodes <- data.frame(id = 1:7, name = LETTERS[1:7])
nodes
#>   id name
#> 1  1    A
#> 2  2    B
#> 3  3    C
#> 4  4    D
#> 5  5    E
#> 6  6    F
#> 7  7    G
edges <- data.frame(
  from = c(1, 1, 2, 3, 4, 1, 6, 7),
  to = c(2, 3, 4, 5, 5, 4, 7, 5)
)
edges
#>   from to
#> 1    1  2
#> 2    1  3
#> 3    2  4
#> 4    3  5
#> 5    4  5
#> 6    1  4
#> 7    6  7
#> 8    7  5
# filtering:
filter_ego(edges, nodes, filter_by = 1, n_neighbours = 1)
#> Error in tidygraph::as_tbl_graph(g[[1]]): Unknown list format
filter_ego(edges, nodes, filter_by = 1, n_neighbours = 2)
#> Error in tidygraph::as_tbl_graph(g[[1]]): Unknown list format