apply {timeSeries} | R Documentation |
Applies a function to a "timeSeries"
object over time periods
of arbitrary positons and lengths.
## S4 method for signature 'timeSeries'
apply(X, MARGIN, FUN, ..., simplify = TRUE)
fapply(x, from, to, FUN, ...)
applySeries(x, from = NULL, to = NULL, by = c("monthly", "quarterly"),
FUN = colMeans, units = NULL, format = x@format,
zone = x@FinCenter, FinCenter = x@FinCenter,
recordIDs = data.frame(), title = x@title,
documentation = x@documentation, ...)
x , X |
an object of class |
MARGIN |
a vector giving the subscripts which the function will be
applied over, see base R's |
FUN |
the function to be applied. For the function |
simplify |
simplify the result? |
from , to |
starting date and end date as |
by |
a character value either |
units |
an optional character string, which allows to overwrite the current
column names of a |
format |
the format specification of the input character vector in POSIX notation. |
zone |
the time zone or financial center where the data were recorded. |
FinCenter |
a character value with the the location of the financial center named as "continent/city", or "city". |
recordIDs |
a data frame which can be used for record identification information. Note, this is not yet handled by the apply functions, an empty data.frame will be returned. |
title |
an optional title string, if not specified the input's data name is deparsed. |
documentation |
optional documentation string, or a vector of character strings. |
... |
arguments passed to other methods. |
The "timeSeries"
method for apply
extracts the core data
(a matrix) from X
and calls apply
, passing on all the
remaining arguments. If the result is suitable, it converts it to
"timeSeries"
, otherwise returns it as is. ‘Suitable’
here means that it is a matrix or a vector (which is converted to a
matrix) and the number of observations is the same as X
.
Like apply
applies a function to the margins of an array, the
function fapply
applies a function to the time stamps or signal
counts of a financial (therefore the “f” in front of the
function name) time series of class "timeSeries"
.
The function fapply
takes a "timeSeries"
object as input
and if from
and to
are missing, they are set to the
start and end time stamps of the series as default values. The
function then behaves like apply
on the column margin.
Note, the function fapply
can be used repetitively in the
following sense: If from
and to
are two "timeDate"
vectors of equal length then for each period spanned by the elements
of the two vectors the function FUN
will be applied to each
period. The resulting time stamps are the time stamps of the
to
vector. Note, the periods can be regular or irregelar, and
they can even overlap.
The function fapply
calls the more general function
applySeries
which also offers, to create automatically monthly
and quarterly periods.
## Percentual Returns of Swiss Bond Index and Performance Index -
LPP <- 100 * LPP2005REC[, c("SBI", "SPI")]
head(LPP, 20)
## Aggregate Quarterly Returns -
applySeries(LPP, by = "quarterly", FUN = colSums)
## Aggregate Quarterly every last Friday in Quarter -
oneDay <- 24*3600
from <- unique(timeFirstDayInQuarter(time(LPP))) - oneDay
from <- timeLastNdayInMonth(from, nday = 5)
to <- unique(timeLastDayInQuarter(time(LPP)))
to <- timeLastNdayInMonth(to, nday = 5)
data.frame(from = as.character(from), to = as.character(to))
applySeries(LPP, from, to, FUN = colSums)
## Count Trading Days per Month -
colCounts <- function(x) rep(NROW(x), times = NCOL(x))
applySeries(LPP, FUN = colCounts, by = "monthly")
## Alternative Use -
fapply(LPP, from, to, FUN = colSums)