我在xts对象上使用diff时遇到了这个问题,并想知道泛型函数调度在这种情况下是如何工作的。请参阅下面的示例代码。
> library(quantmod, quietly=T)
> x <- xts(data.frame(x=1:5), order.by=as.Date(1:5))
> y <- as.zoo(x)
> diff(x, lag=-1)
Error in diff.xts(x, lag = -1) :
'diff.xts' defined only for positive lag and differences arguments
> diff(y, lag=-1)
x
1970-01-02 1
1970-01-03 1
1970-01-04 1
1970-01-05 1
diff
函数不适用于x
xts
对象,但适用于y
zoo
对象。我的问题是diff
上使用了y
函数:
diff.xts
和diff.default
都会在y
; diff.zoo
的函数。我必须在这里错过一点。有任何想法吗?感谢。