我观察到,对于重叠时间序列上的许多运算符,结果仅针对重叠部分给出,这很好:
> (ts1 <- ts(1:5, start=1, freq=3))
Time Series:
Start = c(1, 1)
End = c(2, 2)
Frequency = 3
[1] 1 2 3 4 5
> (ts2 <- ts((7:3)^2, start=2, freq=3))
Time Series:
Start = c(2, 1)
End = c(3, 2)
Frequency = 3
[1] 49 36 25 16 9
> ts1 + ts2
Time Series:
Start = c(2, 1)
End = c(2, 2)
Frequency = 3
[1] 53 41
但是,这似乎并非如此cbind()
。当输出正确对齐时,NA
为非重叠数据创建 s:
> (mts <- cbind(ts1, ts2))
Time Series:
Start = c(1, 1)
End = c(3, 2)
Frequency = 3
ts1 ts2
1.000000 1 NA
1.333333 2 NA
1.666667 3 NA
2.000000 4 49
2.333333 5 36
2.666667 NA 25
3.000000 NA 16
3.333333 NA 9
有没有办法在cbind()
不创建行的情况下执行此操作NA
?或者,如果不是,那么获取结果并用 s 去除行的好方法是NA
什么?这不是一个简单的下标问题,因为它失去了它的时间序列性质:
> mts[complete.cases(mts),]
ts1 ts2
[1,] 4 49
[2,] 5 36
也许有些东西window()
,但计算窗口的开始和结束时间似乎有点恶心。欢迎任何建议。