R,lag()对xts和ts对象的行为不一致

时间:2015-06-19 15:56:26

标签: r time-series xts

我想取一个xts变量的滞后,lag()函数返回一个滞后。但是,如果我在ts变量上使用它,它会带来领先优势。这是一个错误,还是按预期工作?

library('xts')

a = as.xts(ts(c(5,3,7,2,4,8,3), start=c(1980,1), freq=4))
cbind(a, lag(a)) # provides lag 1
#         ..1 ..2
# 1980 Q1   5  NA
# 1980 Q2   3   5
# 1980 Q3   7   3
# 1980 Q4   2   7
# 1981 Q1   4   2
# 1981 Q2   8   4
# 1981 Q3   3   8
b = ts(c(5,3,7,2,4,8,3), start=c(1980,1), freq=4)
cbind(b, lag(b)) # provides lead 1
#          b lag(b)
# 1979 Q4 NA      5
# 1980 Q1  5      3
# 1980 Q2  3      7
# 1980 Q3  7      2
# 1980 Q4  2      4
# 1981 Q1  4      8
# 1981 Q2  8      3
# 1981 Q3  3     NA

1 个答案:

答案 0 :(得分:0)

正如来自?lag.xts的文档中所指出的,这是预期的行为。