apply.monthly | 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 |
an time-series object coercible to xts |
FUN |
an R function |
... |
additional arguments to FUN |
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
used to work 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.