subset_series {DiagrammeR} | R Documentation

## Subset a graph series object

### Description

Subsetting a graph series by the graphs' index positions in the graph series or through selection via graphs' date-time attributes.

### Usage

    subset_series(graph_series, by = "number", values, tz = NULL)

### Arguments

`graph_series` | a graph series object of type `dgr_graph_1D`.
`by` | either `number`, which allows for subsetting of the graph series by graph indices, or `time` which for graph series objects of type `temporal` allows for a subsetting of graphs by a date-time or time range.
`values` | where the subsetting of the graph series by to occur via graph indices (where `by = number`), provide a vector of those indices; when subsetting by time (where `by = time`), a range of times can be provided as a vector.
`tz` | the time zone (`tz`) corresponding to dates or date-time string provided in `values` (if `by = "date"`).

### Value

a graph series object of type `dgr_graph_1D`.

### Examples

    ## Not run:
    # Create three graphs (using \code{pipeR} for speed)
    # and create a graph series using those graphs
    library(magrittr)

    graph_time_1 <-
      create_graph(graph_name = "graph_with_time_1",
                   graph_time = "2015-03-25 03:00",
                   graph_tz = "GMT") %>%
      add_node("a") %>% add_node("b") %>% add_node("c") %>%
      add_edge("a", "c") %>% add_edge("a", "b") %>% add_edge("b", "c")

    graph_time_2 <-
      create_graph(graph_name = "graph_with_time_2",
                   graph_time = "2015-03-26 03:00",
                   graph_tz = "GMT") %>%
      add_node("d") %>% add_node("e") %>% add_node("f") %>%
      add_edge("d", "f") %>% add_edge("d", "e") %>% add_edge("e", "f")

    graph_time_3 <-
      create_graph(graph_name = "graph_with_time_3",
                   graph_time = "2015-03-27 15:00",
                   graph_tz = "GMT") %>%
      add_node("x") %>% add_node("y") %>% add_node("z") %>%
      add_edge("x", "z") %>% add_edge("x", "y") %>% add_edge("y", "z")

    # Create an empty graph series
    series_temporal <- create_series(series_type = "temporal")

    # Add graphs to the graph series
    series_temporal <- graph_time_1 %>% add_to_series(series_temporal)
    series_temporal <- graph_time_2 %>% add_to_series(series_temporal)
    series_temporal <- graph_time_3 %>% add_to_series(series_temporal)

    # Subset graph series by sequence
    series_sequence_subset <-
      subset_series(graph_series = series_temporal,
                    by = "number",
                    values = 2)

    graph_count(series_sequence_subset)
    #> [1] 1

    # Subset graph series by date-time
    series_time_subset <-
      subset_series(graph_series = series_temporal,
                    by = "time",
                    values = c("2015-03-25 12:00",
                               "2015-03-26 12:00"),
                    tz = "GMT")

    graph_count(series_time_subset)
    #> [1] 1

    ## End(Not run)

[Package DiagrammeR version 0.8.2 Index]