Individual time series in mts$data
are grouped by unit
and then
summarized using FUN
.
The most typical use case is creating daily averages where each day begins at
midnight. This function interprets times using the mts$data$datetime
tzone
attribute so be sure that is set properly.
Day boundaries are calculated using the specified timezone
or, if
NULL
, the most common (hopefully only!) time zone found in
mts$meta$timezone
. Leaving timezone = NULL
, the default,
results in "local time" date filtering which is the most common use case.
mts_summarize( mts, timezone = NULL, unit = c("day", "week", "month", "year"), FUN = NULL, ..., minCount = NULL )
mts | mts object. |
---|---|
timezone | Olson timezone used to interpret dates. |
unit | Unit used to summarize by (e.g. "day"). |
FUN | Function used to summarize time series. |
... | Additional arguments to be passed to |
minCount | Minimum number of valid data records required to calculate
summaries. Time periods with fewer valid records will be assigned |
An mts time series object containing daily (or other)
statistical summaries.
(A list with meta
and data
dataframes.)
Because the returned mts object is defined on a daily axis in a
specific time zone, it is important that the incoming mts
contain
timeseries associated with a single time zone.
library(MazamaTimeSeries) daily <- mts_summarize( mts = Carmel_Valley, timezone = NULL, unit = "day", FUN = mean, na.rm = TRUE, minCount = 18 ) # Daily means head(daily$data)#> # A tibble: 6 × 2 #> datetime a9572a904a4ed46d_060530002_03 #> <dttm> <dbl> #> 1 2016-07-22 00:00:00 2.21 #> 2 2016-07-23 00:00:00 6.96 #> 3 2016-07-24 00:00:00 12.4 #> 4 2016-07-25 00:00:00 17.2 #> 5 2016-07-26 00:00:00 64.5 #> 6 2016-07-27 00:00:00 12.8