5

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

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

4

3 回答 3

5

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

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

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

相反,一个时期例如是“一个月”。但是一个月有多长?看你指的是哪个月份。例如,在闰年,二月的持续时间不同,但期间的长度相同。

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

于 2013-09-12T08:23:02.150 回答
0

要处理闰年的频率,设置频率如下:

date=c(2010,1,1)

ts(data,start=date,frequency=365+1* (!date[1]%%400 || ((date[1]%%100)&&!date[1]%%4) ))?
于 2013-09-12T08:30:13.830 回答
0

频率可以设置为 365.25 以包括闰年

ts(data,start=c(2010,1,1),frequency=365.25)
于 2020-08-07T16:48:53.193 回答