我刚刚开始使用ts
类来分析我拥有的一些时间序列数据。
我有种感觉,ts
类不太适合分析每日或每周数据。我在网上或在Cowpertwait和Metcalfe的“带R的介绍性时间序列”中看到的几乎所有示例都使用月度或年度数据。
我想用ts
来分析每周的数据,这是不是不可取?
发布于 2011-12-09 05:40:05
主要的问题是,大多数想要分析每日或每周数据的人都想做一些事情,比如一年使用365天或52周的频率,但一年中的天数或周数不是365天或52周,甚至不是恒定的。比方说,如果你在每日数据的情况下在闰年中减少了一天,或者在一年中的每周都使用7天,那么你可以伪造它。各种各样的方案都是可能的。
请通读this thread以获取示例。
发布于 2011-12-09 05:05:22
ts
类适用于任何类型的数据,这些数据在两次观察之间具有严格的节拍间隔。无论间隔是年、月、天、分钟,都没有任何区别。这使得它非常适合于许多科学数据,例如天气观测。
然而,大量与时间相关的数据存在差距。以股票收盘价为例,周末收盘价是不存在的。对于这种类型的数据,最好使用包xts
(可扩展时间序列)或zoo
(Z的有序观察-其中Z是包作者之一的首字母)。
指向CRAN的链接:
xts
zoo
发布于 2011-12-23 06:00:09
zoo
可以很好地处理日常数据。例如,如果您有一个矢量Q中的每日数据流序列,并且具有相应的日期戳D(例如,使用as.Date()
创建)。
Q.z <- zoo(Q, order.by=D)
我将创建一个绘制良好的对象,您可以使用诸如window()
之类的函数来提取单个年份。
window(Q.z, start = as.Date('2000-01-01'), end=as.Date('2000-31-12')
有关更多信息,请查看zoo
包。
https://stackoverflow.com/questions/8437620
复制相似问题