xts (version 0.11-1)

period.apply: Apply Function Over Specified Interval

Description

Apply a specified function to data over a given interval, where the interval is taken to be the data from INDEX[k] to INDEX[k+1], for k=1:(length(INDEX)-1).

Usage

period.apply(x, INDEX, FUN, ...)

Arguments

x

data to apply FUN to

INDEX

numeric vector specifying indexing

FUN

an argument of type function

additional arguments for FUN

Value

A vector with length of INDEX minus 1

Details

Similar to the rest of the apply family, calculate a specified functions value given a shifting set of data values. The primary difference is that it is that period.apply applies a function to non-overlapping intervals along a vector.

Useful for applying arbitrary functions over an entire data object by an aribirtary index, as when INDEX is the result of a call to breakpoints.

See Also

endpoints apply.monthly

Examples

Run this code
# NOT RUN {
zoo.data <- zoo(rnorm(31)+10,as.Date(13514:13744,origin="1970-01-01"))
ep <- endpoints(zoo.data,'weeks')
period.apply(zoo.data, INDEX=ep, FUN=function(x) mean(x))
period.apply(zoo.data, INDEX=ep, FUN=mean)                  #same

glue <- function(x) { paste(x,collapse='') }
period.apply(letters,c(0,5,7,26),glue)
# }

Run the code above in your browser using DataCamp Workspace