R功能返回开始&时间序列ts()对象的结束日期?

时间:2015-05-15 04:57:11

标签: r datetime time-series forecasting

我创建了一个包含300个时间序列的列表。

现在,我想为每个时间序列创建一个培训样本(通过最近3周),以构建预测模型。 因此,我想使用窗口函数对时间序列进行子集化,以跳过最近3周,如下所示。

# Creating training data
train_ts<-lapply(ts_list, function(x){
  window(x,start=c(start_year,start_month),end=c(.....,.....))
}
)

但问题是每个时间序列的结束日期是不同的。

所以为了帮助我实现这个目的,是否有一个R函数可以返回ts对象的起始值和结束值?

我在这个网站上搜索无法找到解决方案。 感谢

2 个答案:

答案 0 :(得分:3)

要获取ts对象的开始和结束日期,请使用函数startend

set.seed(42)

# ts object starting in Jan. 2013 and ending in Dec. 2013
x <- ts(rnorm(12), start = c(2013, 1), end = c(2013, 12), frequency = 12)

start(x)
# [1] 2013    1
end(x)
# [1] 2013   12

答案 1 :(得分:2)

这是一个假设每周数据的简单示例:

x <- ts(rnorm(200), frequency=52)
endx <- end(x)
window(x, end=c(endx[1],endx[2]-3))

当然,一年中实际上并没有52周,但这可能是大多数分析都可以忽略的并发症。