我有从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)。