Скользящие вычисления в хтс по месяцам

Я знаком сzoo функцияrollapply который позволяет вам делать скользящие вычисления наzoo или жеxts объекты, и вы можете указать приращение прокрутки черезby параметр. Я особенно заинтересован в применении функции каждый месяц, но с использованием всех прошлых ежедневных данных в вычислениях. Например, скажем, мой набор данных выглядит так:

dte, val
1/01/2001, 10
1/02/2001, 11
...
1/31/2001, 2
2/01/2001, 54
2/02/2001, 34
...
2/30/2001, 29

Я хотел бы выбрать конец каждого месяца иapply функция, которая использует все ежедневные данные. Это не похоже, что это будет работать сrollapply так какby аргумент будет 30 иногда, 29 других месяцев и т. д. Моя текущая идея:

f <- function(xts_obj) { coef(lm(a ~ b, data=as.data.frame(xts_obj)))[1] }
month_end <- endpoints(my_xts, on="months", k=1)
rslt <- apply(month_end, 1, function(idx) { my_xts[paste0("/",idx)] })

Конечно, есть лучший способ сделать это, который был бы быстрее, нет? Чтобы уточнить: я хотел бы использовать перекрывающиеся периоды, только переход должен быть сделан ежемесячно.

Ответы на вопрос(3)

Ваш ответ на вопрос