我想知道是否有办法在给定的时间间隔内进行ADF测试。下面是我计算每20个样本的平均数的一个例子:
rollapply(data, 20, FUN = mean)我想使用相同的逻辑,每20个样本运行ADF测试。因此,我使用了以下代码:
n = 24
test <- rollapply(spreadClose, n, FUN = adf.test)注意: adf.test()来自名为"tseries“的库。
有人能解释一下为什么这不管用吗?我得到了以下错误。
名(X) <- dn中的错误:“dimnames”2的长度不等于数组范围
我真的很感谢你的反馈!
发布于 2017-08-14 23:55:50
我使用了以下代码并开始工作:
adftest <- function(x)
{
adfPvalue <- adf.test(x)$p.value
adfPvalue
}
PValue <- function(x) {
Pvalue <- rollapply(x, N, adftest)
Pvalue
}
PValue(out)发布于 2017-07-27 02:52:21
这个怎么样:
library(zoo)
library(tseries)
z <- zoo(rnorm(100), as.Date(1:100))
rollapplyr(z, 20, adf.test)https://stackoverflow.com/questions/45340102
复制相似问题