R中每日时间序列的开始和结束日期有误

时间:2019-05-14 00:02:02

标签: r time-series

我有从2014年10月10日到2016年9月30日开始的每日数据。我正在尝试使用ts创建一个时间序列。我相信我对ts函数的说明是正确的,但我仍然输入了错误的开始日期和结束日期。我尝试了在不同论坛建议的ts那天作为ts的参数:

data=runif(731)
obs_ts_daily <- ts(data,     # random data
         start=c(2014,274),
         frequency =365 )
head(obs_ts_daily)

返回:

 Time Series:
 Start = c(2014, 274) 
 End = c(2014, 279) 
 Frequency = 365 
 [1] 0.4841401 0.7060281 0.5763160 0.4285645 0.4626230 0.912378

您可以看到ts对象的开始日期和结束日期不正确。我也是十进制日期:

obs_ts_daily <- ts(data,     # random data
               start=decimal_date(as.Date("2014-10-01")),
               frequency =365 )

与一年中某天返回的结果完全相同。我的问题是如何为ts对象获取正确的开始和结束日期?

编辑:我已经看到帖子[starting a daily time series in R]及其解决方案。我做的完全一样,例如:

myts <- ts(rnorm(length(inds)),     # random data
       start = c(2014, as.numeric(format(inds[1], "%j"))),
       frequency = 365)

正是我所做的:

data=runif(731)
obs_ts_daily <- ts(data,     # random data
         start=c(2014,274),
         frequency =365 )
head(obs_ts_daily)

另一种解决方案是使用Zoo包获取每日数据,这不是我的兴趣,因为我需要ts对象用于另一个包。 另一个答案是建议将频率设为7,但我有每日数据,我认为应该为365(或365.25)。

0 个答案:

没有答案