r-有没有一种方法可以在特定的时间点拆分xts时间序列对象



我试图在特定年份拆分一个跨越35年的油价时间序列数据。例如,将截至2018年的所有数据合并为一个系列,随后将数据合并为另一个系列。我可以使用split()函数来执行同样的操作吗?下面是关于时间序列的更多详细信息。

> str(myxts)
An ‘xts’ object on 1986-01-15/2020-09-15 containing:
Data: num [1:417, 1] 22.9 15.5 12.6 12.8 15.4 ...
Indexed by objects of class: [Date] TZ: UTC
xts Attributes:  

提前谢谢。

这将创建一个从2000/1/1到2002/9/26的xts对象,然后将其拆分为2000年底之前的所有对象和2001年以后的所有对象。

tt <- seq(as.Date("2000-01-01"), by = "day", length = 1000)
x <- xts(seq_along(tt), tt)
range(time(x))
## [1] "2000-01-01" "2002-09-26"
s <- split(x, as.yearmon(time(x)) >= 2001)
range(time(s[[1]]))
## [1] "2000-01-01" "2000-12-31"
range(time(s[[2]]))
## [1] "2001-01-01" "2002-09-26"

最新更新