event.vectors is an R6 class object that creates a temporally-compared space of "event vectors", each comprised of a 'from' and 'to' temporal marker.

The time between these events is the focus of derivation: properly, the event vector is a complex number that encodes the relationship between the boundaries of the events, thus allowing one to describe this relationship in a concise manner.

Note

The user is responsible for setting the plan when in_parallel=TRUE.

Execution Workflow

The initial execution order should look something like the following ...
event.vectors$new(...)$configure(...)$make.evs_universe(...) . The ability to execute the preceding workflow out of order exists, but it is best to adhere to the provided flow the first time around.

Class Member "Space"

$space is a data.table that is populated upon execution of $make.evs_universe():

jk

Values of the "join key"

"crossed" time output

See cross_time()

fr_\*, to_\*

The temporal ranges of each from/toevent

src_pair

Values of the "from-to" pairings of events given by the contexts provided: FROM:TO

from_coord

String representation of temporal boundaries expressed as concatenated integers

to_coord

String representation of temporal boundaries expressed as concatenated integers

Public fields

space

The object containing the derived set of data (see 'Details')

q_graph

A 'query graph' list containing the event interactions for each level of 'jk' (see 'Details')

evt_graphs

Event graphs for each level of 'jk' (see 'Details') Initialize the Event Vector Class

Active bindings

config

This is an active binding that returns the configuration used to instantiate the class.

set_private

Set or get private variables

Methods


Method new()

Usage

event.vectors$new(...)

Arguments

...

(not used)


Method configure()

$configure() creates references to the source data to use.

Usage

event.vectors$configure(
  ...,
  src_mix = "comb",
  exclude_mix = list(),
  chatty = FALSE
)

Arguments

...

dots_list Objects of class 'Event'

src_mix
"combination":

The default: generates unique pairs of sources

"refl0exive":

Compares each source to itself

"all":

The union of the preceding options


Partial matching is allowed, and generated combinations include the mirror (e.g., "A, B" will have a "B, A" combo pair generated).

exclude_mix

A list of vectors containing each source pair context to exclude (e.g. list(c("A", "C"), c("u", "k"))). evs_exclude.blender can be invoked to create this list more quickly. Combinations are not automatically mirrored as is the case with src_mix.

chatty

(logical | FALSE) Verbosity flag


Method make.evs_universe()

make.evs_universe supplies values to two class fields: q_graph and space, the latter being created from the former.

Additional Information:

  • Class member $space should have as many rows as the sum of all edge counts for graphs in $q_graph

  • The graphs in class member $evt_graphs are visIgraph-ready

  • Parallelism is internally supported via package furrr: the user is responsible for setting the appropriate plan

Usage

event.vectors$make.evs_universe(
  ...,
  time_control = list(-Inf, Inf),
  graph_control = NULL,
  unit = NULL,
  in_parallel = FALSE,
  graph_only = FALSE,
  chatty = FALSE,
  cache = NULL
)

Arguments

...

(dots_list) Logical expression that retain graph edges meeting the conditions

time_control

A 2-element list containing the minimum and maximum values allowed for total temporal span between two events

graph_control

An expression list containing igraph-package calls to manipulate the internally-created graph in the order provided. Use symbol g to generically denote the graph and <<- to update g.

unit

(See cross_time)

in_parallel

(logical | FALSE) Shoudl parallelism via future_map be enabled?

graph_only

(logical | FALSE) TRUE assumes class member $space exists (possibly after external modification) and recreates member $evt_graphs

chatty

(logical | FALSE) Verbosity flag

cache

(See cross_time)

Returns

Invisibly, the original object augmented with new member space


Method clone()

The objects of this class are cloneable with this method.

Usage

event.vectors$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.