2

在动物园对象的滚动窗口上应用函数通常非常简单,例如移动平均线:

z <- zoo(1:10, as.Date(31:40))
rollapply(z, 4, mean, align="right")

现在我想对统计测试做同样的事情,即在每个窗口上应用Augmented Dickey-Fuller 测试并获得测试统计数据,就像我在上面的例子中得到的平均值一样。

所以基本上我正在寻找以下代码的等价物(这当然不起作用!):

rollapply(z, 4, ADF.test, align="right")
4

1 回答 1

6

以下对我有用。

library(zoo)
library(tseries)
z <- zoo(rnorm(100), as.Date(1:100))
rollapplyr(z, 20, adf.test)

如果您只想要 p 值:

rollapplyr(z, 20, function(u) adf.test(u)$p.value)
于 2012-02-13T08:29:30.900 回答