apply.daily | R Documentation |
Apply a specified function to each distinct period in a given time series object.
apply.daily(x, FUN, ...)
apply.weekly(x, FUN, ...)
apply.monthly(x, FUN, ...)
apply.quarterly(x, FUN, ...)
apply.yearly(x, FUN, ...)
x |
A time-series object coercible to xts. |
FUN |
A function to apply to each period. |
... |
Additional arguments to |
Simple mechanism to apply a function to non-overlapping time periods, e.g. weekly, monthly, etc. Different from rolling functions in that this will subset the data based on the specified time period (implicit in the call), and return a vector of values for each period in the original data.
Essentially a wrapper to the xts functions endpoints()
and
period.apply()
, mainly as a convenience.
A vector of results produced by FUN
, corresponding to the
appropriate periods.
When FUN = mean
the results will contain one column for every
column in the input, which is different from other math functions (e.g.
median
, sum
, prod
, sd
, etc.).
FUN = mean
works by column because the default method stats::mean
previously worked by column for matrices and data.frames. R Core changed the
behavior of mean
to always return one column in order to be consistent
with the other math functions. This broke some xts dependencies and
mean.xts()
was created to maintain the original behavior.
Using FUN = mean
will print a message that describes this inconsistency.
To avoid the message and confusion, use FUN = colMeans
to calculate means
by column and use FUN = function(x) mean
to calculate one mean for all the
data. Set options(xts.message.period.apply.mean = FALSE)
to suppress this
message.
Jeffrey A. Ryan
endpoints()
, period.apply()
, to.monthly()
xts.ts <- xts(rnorm(231),as.Date(13514:13744,origin="1970-01-01"))
start(xts.ts)
end(xts.ts)
apply.monthly(xts.ts,colMeans)
apply.monthly(xts.ts,function(x) var(x))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.