Skip to contents

The functions tsl_time() and tsl_time_summary() summarize the time features of a time series list.

  • tsl_time() returns a data frame with one row per time series in the argument 'tsl'

  • tsl_time_summary() returns a list with the features captured by tsl_time(), but aggregated across time series.

Both functions return keywords useful for the functions tsl_aggregate() and tsl_resample(), depending on the value of the argument keywords.

Usage

tsl_time(tsl = NULL, keywords = c("resample", "aggregate"))

tsl_time_summary(tsl = NULL, keywords = c("resample", "aggregate"))

Arguments

tsl

(required, list) Time series list. Default: NULL

keywords

(optional, character string or vector) Defines what keywords are returned. If "aggregate", returns valid keywords for zoo_aggregate(). If "resample", returns valid keywords for zoo_resample(). If both, returns all valid keywords. Default: c("aggregate", "resample").

Value

  • tsl_time(): data frame with the following columns:

    • name (string): time series name.

    • rows (integer): number of observations.

    • class (string): time class, one of "Date", "POSIXct", or "numeric."

    • units (string): units of the time series.

    • length (numeric): total length of the time series expressed in units.

    • resolution (numeric): average interval between observations expressed in units.

    • begin (date or numeric): begin time of the time series.

    • end (date or numeric): end time of the time series.

    • keywords (character vector): valid keywords for tsl_aggregate() or tsl_resample(), depending on the value of the argument keywords.

  • tsl_time_summary(): list with the following objects:

    • class (string): time class, one of "Date", "POSIXct", or "numeric."

    • units (string): units of the time series.

    • begin (date or numeric): begin time of the time series.

    • end (date or numeric): end time of the time series.

    • resolution_max (numeric): longer time interval between consecutive samples expressed in units.

    • resolution_min (numeric): shorter time interval between consecutive samples expressed in units.

    • keywords (character vector): valid keywords for tsl_aggregate() or tsl_resample(), depending on the value of the argument keywords.

    • units_df (data frame) data frame for internal use within tsl_aggregate() and tsl_resample().

Examples

#simulate a time series list
tsl <- tsl_simulate(
  n = 3,
  rows = 150,
  time_range = c(
    Sys.Date() - 365,
    Sys.Date()
  ),
  irregular = TRUE
)

#time data frame
tsl_time(
  tsl = tsl
)
#>   name rows class units   length resolution      begin        end     keywords
#> 1    A  150  Date  days 357.0785   2.396500 2023-11-24 2024-11-15 quarters....
#> 2    B  150  Date  days 363.7813   2.441485 2023-11-19 2024-11-17 years, q....
#> 3    C  150  Date  days 361.9533   2.429216 2023-11-18 2024-11-14 quarters....

#time summary
tsl_time_summary(
  tsl = tsl
)
#> $class
#> [1] "Date"
#> 
#> $units
#> [1] "days"
#> 
#> $begin
#> [1] "2023-11-18"
#> 
#> $end
#> [1] "2024-11-17"
#> 
#> $resolution_max
#> [1] 0.6093489
#> 
#> $resolution_min
#> [1] 17.06177
#> 
#> $keywords
#> [1] "quarters" "months"   "weeks"    "days"     "years"   
#> 
#> $units_df
#>   factor base_units    units threshold keyword
#> 4     NA       days    years       365    TRUE
#> 5     NA       days quarters        90    TRUE
#> 6     NA       days   months        30    TRUE
#> 7     NA       days    weeks         7    TRUE
#> 8     NA       days     days         1    TRUE
#>