为什么在R中进行差分后子集中的NA值?

时间:2014-02-12 21:21:36

标签: r subset na

您好,并提前致谢。我试图在系列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 个答案:

答案 0 :(得分:1)

我打赌问题是你有差异,所以,差异的一端是找一个不存在的年份(无论是你有数据的第一年之前的一年,还是去年之后的一年)你有数据)。

对于比实际年份短一年的集合,解决方案是差异

修改

再考虑一下,我认为你应该在差异之前进行分组而不是相反。像

这样的东西
X_2001 <- subset(X, dat[["Year"]] > 2001)
urdfTest(X_2001, MORE CODE HERE)