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

R, lag( ) has inconsistent behavior for xts and ts objects

我想要一个 xts 变量的滞后,lag() 函数 returns 一个滞后。但是,如果我在 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

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