У меня есть кадр данных с временными рядами, и я пытаюсь итеративно проверить, является ли каждый из них стационарным. R выдает мне странную ошибку, что if (interpol==min(tablep)) warning...: missing value where TRUE/FALSE needed
.
df <- structure(list(DATE = structure(c(15405, 15406, 15407, 15408, 15409, 15405,
15406, 15407, 15408, 15409, 15405, 15406, 15407, 15408, 15409), class = "Date"),
ID = c(1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L),
VALUE = c(5.67, 3.45, 4.56, 20.3, 5.1, 5.67, 3.45, 4.56, 5.28, 5.1, 5.67, 7.8,
8.79, 9.43, 10.99)), .Names = c("DATE", "ID", "VALUE"), row.names = c(NA, -15L),
class = "data.frame")
ids <- 1:3
test<-lapply(ids, function(i) {
if(!any(is.na(df[df$ID==i,3]))) {adf.test(df[df$ID==i, 3])} else {NA} })
Error in if (interpol == min(tablep)) warning("p-value smaller than printed p-value") else warning("p-value greater than printed p-value") :
missing value where TRUE/FALSE needed
Мысли о том, что это может означать?
adf.test
(debug(adf.test)
) и заметил, что одна из оценок модели былаNA
. Затем я просмотрел модель в Википедии и прочитал?adf.test
( В разделе «Подробности» говорится, что он проверяет коэффициент авторегрессии первого порядка). Потом просто посчитал коэффициенты и данные (теряешь 2 обса от взятия лага и разницы). 24.06.2013