我正在尝试拆分特定年份跨越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:
谢谢。
答案 0 :(得分:0)
这将创建一个从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"