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
)

Arguments

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 FUN (_e.g._ na.rm = TRUE).

minCount

Minimum number of valid data records required to calculate summaries. Time periods with fewer valid records will be assigned NA.

Value

An mts time series object containing daily (or other) statistical summaries. (A list with meta and data dataframes.)

Note

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.

Examples

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_840060530002
#>   <dttm>                                      <dbl>
#> 1 2016-07-22 00:00:00                          2.04
#> 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