2012-02-13 2 views
2

Применение функций при повороте окон объектов зоопарка обычно довольно прямолинейно, например. скользящее среднее:Применение статистического теста в скользящем окне

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") 
+2

Вы, по-видимому, используя пакет uroot, который не является [больше не на CRAN] (HTTP: //cran.r-project. орг/веб/пакеты/uroot /). –

ответ

6

Следующие работы для меня.

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

В случае, если вы просто хотите, р-значение:

rollapplyr(z, 20, function(u) adf.test(u)$p.value)