Aggregate Cases in Zoo Time Series
Arguments
- x
(required, zoo object) Time series to aggregate. Default: NULL
- new_time
(optional, zoo object, keyword, or time vector) New time to aggregate
xto. The available options are:NULL: the highest resolution keyword returned by
zoo_time(x)$keywordsis used to generate a new time vector to aggregatex.zoo object: the index of the given zoo object is used as template to aggregate
x.time vector: a vector with new times to resample
xto. If time inxis of class "numeric", this vector must be numeric as well. Otherwise, vectors of classes "Date" and "POSIXct" can be used indistinctly.keyword: a valid keyword returned by
zoo_time(x)$keywords, used to generate a time vector with the relevant units.numeric of length 1: interpreted as new time interval, in the highest resolution units returned by
zoo_time(x)$units.
- f
(optional, quoted or unquoted function name) Name of a standard or custom function to aggregate numeric vectors. Typical examples are
mean,max,min,median, andquantile. Default:mean.- ...
(optional, additional arguments) additional arguments to
f.
See also
Other zoo_functions:
zoo_name_clean(),
zoo_name_get(),
zoo_name_set(),
zoo_permute(),
zoo_plot(),
zoo_resample(),
zoo_smooth_exponential(),
zoo_smooth_window(),
zoo_time(),
zoo_to_tsl(),
zoo_vector_to_matrix()
Examples
#full range of calendar dates
x <- zoo_simulate(
rows = 1000,
time_range = c(
"0000-01-01",
as.character(Sys.Date())
)
)
#plot time series
if(interactive()){
zoo_plot(x)
}
#find valid aggregation keywords
x_time <- zoo_time(x)
x_time$keywords
#> [[1]]
#> [1] "millennia" "centuries" "decades" "years" "quarters"
#>
#mean value by millennia (extreme case!!!)
x_millennia <- zoo_aggregate(
x = x,
new_time = "millennia",
f = mean
)
if(interactive()){
zoo_plot(x_millennia)
}
#max value by centuries
x_centuries <- zoo_aggregate(
x = x,
new_time = "centuries",
f = max
)
if(interactive()){
zoo_plot(x_centuries)
}
#quantile 0.75 value by centuries
x_centuries <- zoo_aggregate(
x = x,
new_time = "centuries",
f = stats::quantile,
probs = 0.75 #argument of stats::quantile()
)
if(interactive()){
zoo_plot(x_centuries)
}
