Learn R Programming

xts (version 0.12.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, ...)

Value

A vector with length of INDEX minus 1

Arguments

x

data to apply FUN to

INDEX

numeric vector specifying indexing

FUN

an argument of type function

...

additional arguments for FUN

Author

Jeffrey A. Ryan

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
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 DataLab