我尝试将每日数据集转换为ts
,但您如何处理闰年?那么我应该将频率设置为等于什么值?
ts(data,start=c(2010,1,1),frequency=365)?
答案 0 :(得分:4)
我建议使用包zoo或xts(依赖于zoo
)。使用这些时间格式,您可以定义具有或不具有夏令时或闰年的时间序列。
此外,我建议使用包lubridate进行时间跨度计算。 lubridate
会在期间和持续时间之间产生差异。
持续时间类测量两个时刻之间的确切时间跨度,您可以在秒表上测量。
相比之下,期例如是“一个月”。但是一个月多久了?取决于你的意思。例如,在闰年中,月份的月份具有不同的持续时间,但是具有相同的周期长度。
您是否需要持续时间或期限取决于您的主题和目标。使用zoo
和lubridate
,您可以选择与您相关的那个。
答案 1 :(得分:1)
为了处理闰年的频率,设定频率如下:
date=c(2010,1,1)
ts(data,start=date,frequency=365+1* (!date[1]%%400 || ((date[1]%%100)&&!date[1]%%4) ))?
答案 2 :(得分:0)
频率可以设置为365.25以包含leap年
ts(data,start=c(2010,1,1),frequency=365.25)