【发布时间】:2015-12-18 03:27:04
【问题描述】:
我正在处理从 2008 年到 2015 年的时间序列,但我将注意力限制在每年的 3 月到 8 月之间。更复杂的是,有些值被标记为 NA。
df 的子集(未按日期排序)如下所示:
Date Value Site
1 2008-08-20 NA Kenya
2 2008-08-29 12.954 Kenya
3 2008-08-18 29.972 Kenya
4 2008-08-16 5.080 Kenya
5 2009-04-21 3.048 Kenya
6 2009-04-22 12.954 Kenya
可能是一个不重要的细节,因为子集非常简单,但为了澄清 Site 列的目的,我会提到共有五个站点在同一跨度上具有时间序列数据。
我想添加一个列 Value10,它给出了 10 天移动平均线。我发现使用 zoo 或 TTR 等几个软件包之一可以轻松完成此操作,但我希望移动平均线对日期和站点敏感,以便它
- 如果前 10 个值中的任何一个产生 NA,则生成当天的 NA
- 为前 10 个值包含
Date中的跳跃的那一天生成 NA,例如从 2008 年 8 月到 2009 年 3 月。 - 对其作用于
Site的哪个数据很敏感
【问题讨论】:
-
使用 split-apply-combine 函数并按
Site和year拆分。
标签: r date datetime time-series zoo