繁体   English   中英

使用R进行简单的时间序列分析:聚合和子集

[英]Simple time series analysis with R: aggregating and subsetting

我想将每月数据转换为季度平均值。 这些是我的2个数据集:

gas <- UKgas
dd <- UKDriverDeaths

我能够这样完成dd数据:

dd.zoo <- zoo(dd)
ddq <- aggregate(dd.zoo, as.yearqtr, mean)

但是我无法弄清楚如何用gas数据来进行分析……有什么帮助吗?


跟进

当我尝试根据日期(1969-1984)对数据进行子集化时,所得数据不包括1969 Q1,而是包括1985 Q1 ...有关如何解决此问题的任何建议? 我只是想将其子集化为gas[1969:1984]

最初,我不打算发布答案,因为您似乎没有预先检查UKgas数据集以了解它已经是一个季度时间序列。

但是后续问题值得回答。 “ ts”对象带有许多方便的泛型函数。 我们可以使用window轻松子集时间序列。 要提取1969年第一季度到1984年最后一个季度之间的部分,我们可以使用

window(UKgas, start = c(1969,1), end = c(1984,4))

结果仍然是每个季度的时间序列。

另一方面,如果我们使用“ [”进行子集设置,则会丢失对象类:

class(UKgas[1:12])
#[1] "numeric"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM