R 检查时间序列数据的频率

R 检查时间序列数据的频率,r,time-series,xts,zoo,R,Time Series,Xts,Zoo,假设: 我有一个时间序列数据,一个zoo或xts对象 问题: 是否有任何方便的功能或方法,以便我可以检查时间序列是每月、每季度还是每年?您可以计算时间戳之间的平均差值, 并检查是否接近1(每日数据)、7(每周数据)等 guess\u periodxts软件包具有用于此目的的功能periodicy library(quantmod) getSymbols("^GSPC") periodicity(GSPC) # Daily periodicity from 2007-01-03 to 2013-1

假设: 我有一个时间序列数据,一个zoo或xts对象

问题:
是否有任何方便的功能或方法,以便我可以检查时间序列是每月、每季度还是每年?

您可以计算时间戳之间的平均差值, 并检查是否接近1(每日数据)、7(每周数据)等


guess\u periodxts软件包具有用于此目的的功能
periodicy

library(quantmod)
getSymbols("^GSPC")
periodicity(GSPC)
# Daily periodicity from 2007-01-03 to 2013-10-04
getSymbols("CPIAUCNS", src="FRED")
periodicity(CPIAUCNS)
# Monthly periodicity from 1913-01-01 to 2013-08-01

以上所有技术假设的一点是,您不关心每个数据点的值,所有数据点都被平等对待。有人知道如何合并每个数据点的值吗?实际上,查找区域数据点的周期。你可以想象一个时间序列可能有多个周期。

不确定这是否有帮助,但使用从
ts
派生的基本R时间序列,这可以通过
频率
轻松实现。谢谢你的回答,@vitale232。实际上,我已经试过了。不幸的是,当应用于我从FRED获取的所有时间数据时,无论数据本身是季度数据还是月度数据,它只给出1。这个问题似乎离题了,因为它是关于统计而不是编程的。此外,@RobHyndman已经在Hi上得到了回复,谢谢你的评论。我最初的想法是寻找一些已经建立的功能(如果它们曾经存在的话)。谢谢你通过链接把我引向这个有趣的讨论。太棒了!它完全符合我的期望。非常感谢!
library(quantmod)
getSymbols("^GSPC")
periodicity(GSPC)
# Daily periodicity from 2007-01-03 to 2013-10-04
getSymbols("CPIAUCNS", src="FRED")
periodicity(CPIAUCNS)
# Monthly periodicity from 1913-01-01 to 2013-08-01