Почему значения NA в подмножествах после различия в R?

Привет и заранее спасибо. Я пытаюсь запустить единичный root-тест на подмножестве серий X после того, как это было дифференцировано, X_diff

X_diff <- diff(X, differences = 1)

urdfTest( subset(X_diff, dat[["Year"]] > 2001 ), lags = 4, type = c("c"), doplot = TRUE)

Я получаю следующую ошибку: 'Error in na.fail.default(as.ts(x)) : missing values in object'

Теперь я заметил, что если я смотрю весь X_diff переменная, я не получаю NA ценности. Однако, если я просматриваю подмножество X_diff переменная (код ниже) я получаю NA в конце все время цените, и это верно для любого года, в который я помещаю условие.

TBG_diff[which(dat[["Year"]] > 2001)]

Почему NA появиться и как я могу запустить подмножество разностных рядов, не получая NA ошибка?

1 ответ

Решение

Бьюсь об заклад, проблема в том, что вы различие, поэтому один конец различий ищет год, который не существует (либо год до первого года, за который у вас есть данные, или год после последнего года, когда у вас есть данные за).

Решением будет различие для набора, который на один год короче вашего фактического набора лет

РЕДАКТИРОВАТЬ

Подумав об этом еще немного, я думаю, что вы должны разбираться, прежде чем вы будете отличаться, а не наоборот. Что-то вроде

X_2001 <- subset(X, dat[["Year"]] > 2001)
urdfTest(X_2001, MORE CODE HERE)
Другие вопросы по тегам