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

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

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

因此,基本上,我正在寻找与以下代码等效的代码(这当然是行不通的!):
rollapply(z, 4, ADF.test, align="right")

最佳答案

以下对我有用。

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)

关于r - 在滑动窗口上应用统计检验,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9257143/

10-15 04:45