Subset a graph series object

Share:

Description

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

Usage

1
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

 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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
library(magrittr)

# Create three graphs
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 and add
# the graphs
series_temporal <-
  create_series(series_type = "temporal") %>%
  add_to_series(graph_time_1, .) %>%
  add_to_series(graph_time_2, .) %>%
  add_to_series(graph_time_3, .)

# 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

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.