按时间序列执行ccf - 单变量问题

时间:2017-10-03 06:17:21

标签: r time-series

我有两个xts对象,休息和清醒。

我想交叉关联它们,所以我做了

ccf(rest, awake)

但是我收到了消息

Error in ccf(rest, awake) : univariate time series only
醒着看起来像264行。

2017-01-01 07:50:00    94.44444
2017-01-02 08:05:00    95.43147

休息是类似的,有264行。

2017-01-01    57
2017-01-02    58

为什么会抛出此错误?我已经尝试从清醒中删除小时/分钟/秒,但这也不起作用。我错过了什么?

1 个答案:

答案 0 :(得分:1)

如输出所示。 ccf()期望两个单变量时间序列(数字向量),即。您需要先转换xts时间序列:

library(xts)
x <- xts(rnorm(100), seq(as.Date("2017-01-01"), length.out = 100, by = 1))
y <- xts(rnorm(100), seq(as.Date("2017-01-01"), length.out = 100, by = 1))
ccf(x[, 1, drop = TRUE], y[, 1, drop = TRUE]) #one way
ccf(as.numeric(x), as.numeric(y)) #another way