用R进行时间序列分析,如何处理日常数据

时间:2013-09-12 04:56:14

标签: r statistics time-series

我尝试将每日数据集转换为ts,但您如何处理闰年?那么我应该将频率设置为等于什么值?

ts(data,start=c(2010,1,1),frequency=365)?

3 个答案:

答案 0 :(得分:4)

我建议使用包zooxts(依赖于zoo)。使用这些时间格式,您可以定义具有或不具有夏令时或闰年的时间序列。

此外,我建议使用包lubridate进行时间跨度计算。 lubridate会在期间和持续时间之间产生差异。

持续时间类测量两个时刻之间的确切时间跨度,您可以在秒表上测量。

相比之下,例如是“一个月”。但是一个月多久了?取决于你的意思。例如,在闰年中,月份的月份具有不同的持续时间,但是具有相同的周期长度。

您是否需要持续时间或期限取决于您的主题和目标。使用zoolubridate,您可以选择与您相关的那个。

答案 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)