首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在R中使用ts分析每日/每周数据

在R中使用ts分析每日/每周数据
EN

Stack Overflow用户
提问于 2011-12-09 04:59:40
回答 5查看 33K关注 0票数 18

我刚刚开始使用ts类来分析我拥有的一些时间序列数据。

我有种感觉,ts类不太适合分析每日或每周数据。我在网上或在Cowpertwait和Metcalfe的“带R的介绍性时间序列”中看到的几乎所有示例都使用月度或年度数据。

我想用ts来分析每周的数据,这是不是不可取?

EN

回答 5

Stack Overflow用户

发布于 2011-12-09 05:40:05

主要的问题是,大多数想要分析每日或每周数据的人都想做一些事情,比如一年使用365天或52周的频率,但一年中的天数或周数不是365天或52周,甚至不是恒定的。比方说,如果你在每日数据的情况下在闰年中减少了一天,或者在一年中的每周都使用7天,那么你可以伪造它。各种各样的方案都是可能的。

请通读this thread以获取示例。

票数 12
EN

Stack Overflow用户

发布于 2011-12-09 05:05:22

ts类适用于任何类型的数据,这些数据在两次观察之间具有严格的节拍间隔。无论间隔是年、月、天、分钟,都没有任何区别。这使得它非常适合于许多科学数据,例如天气观测。

然而,大量与时间相关的数据存在差距。以股票收盘价为例,周末收盘价是不存在的。对于这种类型的数据,最好使用包xts (可扩展时间序列)或zoo(Z的有序观察-其中Z是包作者之一的首字母)。

指向CRAN的链接:

  • xts
  • zoo
票数 10
EN

Stack Overflow用户

发布于 2011-12-23 06:00:09

zoo可以很好地处理日常数据。例如,如果您有一个矢量Q中的每日数据流序列,并且具有相应的日期戳D(例如,使用as.Date()创建)。

代码语言:javascript
运行
复制
Q.z <- zoo(Q, order.by=D) 

我将创建一个绘制良好的对象,您可以使用诸如window()之类的函数来提取单个年份。

代码语言:javascript
运行
复制
window(Q.z, start = as.Date('2000-01-01'), end=as.Date('2000-31-12')

有关更多信息,请查看zoo包。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8437620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档