Aggregates covidcast_signal objects into one data frame, in either "wide"
or "long" format. (In "wide" aggregation, only the latest issue from each
data frame is retained, and several columns, including data_source and
signal are dropped; see details below). See vignette("multi-signals", package = "covidcast") for examples.
aggregate_signals(x, dt = NULL, format = c("wide", "long"))Single covidcast_signal data frame, or a list of such data
frames, such as is returned by covidcast_signals().
Vector of shifts to apply to the values in the data frame x.
Negative shifts translate into in a lag value and positive shifts into a
lead value; for example, if dt = -1, then the value on June 2 that gets
reported is the original value on June 1; if dt = 0, then the values are
left as is. When x is a list of data frames, dt can either be a single
vector of shifts or a list of vectors of shifts, this list having the same
length as x (in order to apply, respectively, the same shifts or a
different set of shifts to each data frame in x).
One of either "wide" or "long". The default is "wide".
Data frame of aggregated signals in "wide" or "long" form, depending
on format. In "long" form, an extra column dt is appended to indicate
the value of the time-shift. In "wide" form, only the latest issue of data
is retained; the returned data frame is formed via full joins of the input
data frames (on geo_value and time_value as the join key), and the
columns data_source, signal, issue, lag, stderr, sample_size
are all dropped from the output. Each unique signal---defined by a
combination of data source name, signal name, and time-shift---is given its
own column, whose name indicates its defining quantities. For example, the
column name "value+2:usa-facts_confirmed_incidence_num" corresponds to a
signal defined by data_source = "usa-facts", signal = "confirmed_incidence_num", and dt = 2.
This function can be thought of having three use cases. In all three
cases, the result will be a new data frame in either "wide" or "long"
format, depending on format.
The first use case is to apply time-shifts to the values in a given
covidcast_signal object. In this use case, x is a covidcast_signal
data frame and dt is a vector of shifts.
The second use case is to bind together, into one data frame, signals that
are returned by covidcast_signals(). In this use case, x is a list of
covidcast_signal data frames, and dt is NULL.
The third use case is a combination of the first two: to bind together
signals returned by covidcast_signals(), and simultaneously, apply
time-shifts to their values. In this use case, x is a list of
covidcast_signal data frames, and dt is either a vector of shifts---to
apply the same shifts for each signal in x, or a list of vector of
shifts---to apply different shifts for each signal in x.