R 以不规则间距获取xts时间序列中的下N个条目

R 以不规则间距获取xts时间序列中的下N个条目,r,time-series,finance,xts,R,Time Series,Finance,Xts,我想编写一个应用于以下各项的函数: lapply(新_数据,ALGO) 它应该在该特定条目之前和之后使用15个条目,然后进行一些计算,返回一个数字。到目前为止,我所做的是: ALGO <- function(y1) { nd.in.y1 <- .indexday(new_data) %in% .indexday(y1) low <- last(new_data[nd.in.y1 & index(new_data) < index(y1)],15) hi

我想编写一个应用于以下各项的函数: lapply(新_数据,ALGO)

它应该在该特定条目之前和之后使用15个条目,然后进行一些计算,返回一个数字。到目前为止,我所做的是:

ALGO <- function(y1) {
  nd.in.y1 <- .indexday(new_data) %in% .indexday(y1)
  low <- last(new_data[nd.in.y1 & index(new_data) < index(y1)],15)
  high <- first(new_data[nd.in.y1 & index(new_data) > index(y1)],15)
  ccc <- rbind(low,high)
  # ...
  # Make some calculations
  # ...
  return(number)
}

ALGO我认为
rollapply
就是这样做的。我已经检查过了,但我不清楚是否可以执行当天的检查(.indexday(新数据)%in%.indexday(y1)),范围是以时间表示的,而不是序列的前15个条目。这对于我来说至关重要,因为我有一个不规则的时间序列,我不知道其范围是什么。
rollapply
将使用过去(或/和下一个)15个条目:如果时间序列是不规则的,那将不是过去的15天(例如,如果每个星期天都有一个值,那么它将对应于过去的3周)。您可以通过设置
align
参数来选择使用过去和/或下一个值。我同意您的意见,我可以选择过去和下一个15个条目,但我无法将数据强制在同一天。你有什么提示吗?拆分函数(以天为单位)返回列表列表,而不是XT列表。