You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R中如何将时间序列数据的起始日期指定为2014年Q2?

正确定义起始于2014年Q2的季度时间序列

问题背景

你有一份季度时间序列数据,2014年仅包含Q2-Q4的数据,其余年份为完整4个季度。使用ts(..., start=2014, frequency=4)时出现季度错位,导致2014年Q1被错误填充了Q2的数据。

原始数据:

> EquifaxData
         DATE EQFXSUBPRIME013045
1  2014-04-01           42.58513
2  2014-07-01           43.15483
3  2014-10-01           43.55090
4  2015-01-01           42.59218
5  2015-04-01           41.47105
6  2015-07-01           41.53640
7  2015-10-01           41.82020
8  2016-01-01           40.98760
9  2016-04-01           40.51305
10 2016-07-01           39.91170
11 2016-10-01           40.15402

已执行日期转换:

EquifaxData$DATE <- as.Date(EquifaxData$DATE)

错误代码及结果:

> EquifaxTs <- ts(EquifaxData$EQFXSUBPRIME013045, start=2014, frequency = 4)
> head(EquifaxTs)
         Qtr1     Qtr2     Qtr3     Qtr4
2014 42.58513 43.15483 43.55090 42.59218
2015 41.47105 41.53640                  

解决方法

在ts()函数中,start参数可以传入长度为2的向量,格式为c(年份, 周期序号)。对于季度数据(frequency=4),Q1对应1,Q2对应2,以此类推。

使用以下代码即可正确指定起始于2014年Q2:

EquifaxTs <- ts(EquifaxData$EQFXSUBPRIME013045, start = c(2014, 2), frequency = 4)

验证结果:

> head(EquifaxTs)
         Qtr2     Qtr3     Qtr4     Qtr1
2014 42.58513 43.15483 43.55090        
2015 41.47105 41.53640 41.82020 42.59218
2016 40.51305 39.91170 40.15402 40.98760

这样数据就会对应正确的季度:2014年Q2-Q4的数据依次排列,2015年及之后的季度也会准确匹配。


内容的提问来源于stack exchange,提问作者Tendekai Muchenje

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 08:32:16