von*_*njd 2 statistics r rollapply
在动物园物体的滚动窗口上应用函数通常是非常直接的,例如移动平均值:
z <- zoo(1:10, as.Date(31:40))
rollapply(z, 4, mean, align="right")
Run Code Online (Sandbox Code Playgroud)
现在我想用统计测试做同样的事情,即在每个窗口上应用Augmented Dickey-Fuller测试并得到测试统计量,就像我在上面的例子中得到的那样.
所以基本上我正在寻找相当于下面的一段代码(当然这不起作用!):
rollapply(z, 4, ADF.test, align="right")
Run Code Online (Sandbox Code Playgroud)
以下适用于我.
library(zoo)
library(tseries)
z <- zoo(rnorm(100), as.Date(1:100))
rollapplyr(z, 20, adf.test)
Run Code Online (Sandbox Code Playgroud)
如果你只想要p值:
rollapplyr(z, 20, function(u) adf.test(u)$p.value)
Run Code Online (Sandbox Code Playgroud)