tbl_graph: A data structure for tidy graph manipulation

Description Usage Arguments Details Value Methods (by generic) Examples

View source: R/tbl_graph.R

Description

The tbl_graph class is a thin wrapper around an igraph object that provides methods for manipulating the graph using the tidy API. As it is just a subclass of igraph every igraph method will work as expected. A grouped_tbl_graph is the equivalent of a grouped_df where either the nodes or the edges has been grouped. The grouped_tbl_graph is not constructed directly but by using the group_by() verb. After creation of a tbl_graph the nodes are activated by default. The context can be changed using the activate() verb and affects all subsequent operations. Changing context automatically drops any grouping. The current active context can always be extracted with as_tibble(), which drops the graph structure and just returns a tbl_df or a grouped_df depending on the state of the tbl_graph. The returned context can be overriden by using the active argument in as_tibble().

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
## S3 method for class 'data.frame'
as_tbl_graph(x, directed = TRUE, ...)

## S3 method for class 'Node'
as_tbl_graph(x, directed = TRUE, mode = "out", ...)

## S3 method for class 'dendrogram'
as_tbl_graph(x, directed = TRUE, mode = "out",
  ...)

## S3 method for class 'graphNEL'
as_tbl_graph(x, ...)

## S3 method for class 'graphAM'
as_tbl_graph(x, ...)

## S3 method for class 'graphBAM'
as_tbl_graph(x, ...)

## S3 method for class 'hclust'
as_tbl_graph(x, directed = TRUE, mode = "out", ...)

## S3 method for class 'igraph'
as_tbl_graph(x, ...)

## S3 method for class 'list'
as_tbl_graph(x, directed = TRUE, ...)

## S3 method for class 'matrix'
as_tbl_graph(x, directed = TRUE, ...)

## S3 method for class 'network'
as_tbl_graph(x, ...)

## S3 method for class 'phylo'
as_tbl_graph(x, directed = NULL, ...)

## S3 method for class 'evonet'
as_tbl_graph(x, directed = TRUE, ...)

tbl_graph(nodes = NULL, edges = NULL, directed = TRUE)

as_tbl_graph(x, ...)

## Default S3 method:
as_tbl_graph(x, ...)

is.tbl_graph(x)

Arguments

x

An object convertible to a tbl_graph

directed

Should the constructed graph be directed (defaults to TRUE)

...

Arguments passed on to the conversion function

mode

In case directed = TRUE should the edge direction be away from node or towards. Possible values are "out" (default) or "in".

nodes

A data.frame containing information about the nodes in the graph.

edges

A data.frame containing information about the edges in the graph. The terminal nodes of each edge must either be encoded in a to and from column, or in the two first columns, as integers. These integers refer to nodes index.

Details

Constructors are provided for most data structures that resembles networks. If a class provides an igraph::as.igraph() method it is automatically supported.

Value

A tbl_graph object

Methods (by generic)

Examples

1
2
3
4
rstat_nodes <- data.frame(name = c("Hadley", "David", "Romain", "Julia"))
rstat_edges <- data.frame(from = c(1, 1, 1, 2, 3, 3, 4, 4, 4), 
                            to = c(2, 3, 4, 1, 1, 2, 1, 2, 3))
tbl_graph(nodes = rstat_nodes, edges = rstat_edges)

Example output

Attaching package: 'tidygraph'

The following object is masked from 'package:stats':

    filter

# A tbl_graph: 4 nodes and 9 edges
#
# A directed simple graph with 1 component
#
# Node Data: 4 x 1 (active)
  name  
  <fct> 
1 Hadley
2 David 
3 Romain
4 Julia 
#
# Edge Data: 9 x 2
   from    to
  <int> <int>
1     1     2
2     1     3
3     1     4
# ... with 6 more rows

tidygraph documentation built on May 2, 2019, 8:32 a.m.