1

我希望FUN1 year. 我的 xts 每年的积分数不一样。我怎样才能以有效的方式做到这一点?

PS 通常执行FUN固定数量的数据点(例如 100 个),我使用:

as.xts(rollapply(data = zoo(indicator), FUN = FUN, width = 100, align = "right"))

但显然,如果每年的积分数并不总是相同,这将不起作用。

4

2 回答 2

0

我将尝试回答我自己的问题:一种方法是:

  1. 首先对时间序列进行 NA-pad,以便每天有一个数据点(或与您的案例相关的任何单位),
  2. (可选,取决于您的乐趣)然后用于na.locf结转最后的数据以填补漏洞。
  3. 最后使用问题中所示的通常的 rollapply,在对应于 1 年的固定数量的数据点上。
于 2014-12-03T03:11:26.903 回答
0

您可以使用库中的apply.yearly(x, FUN, ...)功能xts

dat <- xts(rnorm(1000), order.by = as.Date(1:1000))
plot(dat)
apply.yearly(dat, mean)
于 2021-05-10T05:23:49.723 回答