R: Apply Function Over Specified Interval

period.apply {xts} | R Documentation

## 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`

### 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.

### Value

A vector with length of INDEX minus 1

### Author(s)

Jeffrey A. Ryan

### See Also

`endpoints` `apply.monthly`

### Examples

    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)

[Package xts version 0.10-1 Index]