【发布时间】:2017-03-19 09:16:17
【问题描述】:
我有大量文件(约 1200 个),每个文件都包含大量时间序列,其中包含有关地下水高度的数据。系列的开始日期和长度因每个文件而异。日期之间可能存在较大的数据间隔,例如(此类文件的一小部分):
Date Height (cm)
14-1-1980 7659
28-1-1980 7632
14-2-1980 7661
14-3-1980 7638
28-3-1980 7642
14-4-1980 7652
25-4-1980 7646
14-5-1980 7635
29-5-1980 7622
13-6-1980 7606
27-6-1980 7598
14-7-1980 7654
28-7-1980 7654
14-8-1980 7627
28-8-1980 7600
12-9-1980 7617
14-10-1980 7596
28-10-1980 7601
14-11-1980 7592
28-11-1980 7614
11-12-1980 7650
29-12-1980 7670
14-1-1981 7698
28-1-1981 7700
13-2-1981 7694
17-3-1981 7740
30-3-1981 7683
14-4-1981 7692
14-5-1981 7682
15-6-1981 7696
17-7-1981 7706
28-7-1981 7699
28-8-1981 7686
30-9-1981 7678
17-11-1981 7723
11-12-1981 7803
18-2-1982 7757
16-3-1982 7773
13-5-1982 7753
11-6-1982 7740
14-7-1982 7731
15-8-1982 7739
14-9-1982 7722
14-10-1982 7794
15-11-1982 7764
14-12-1982 7790
14-1-1983 7810
28-3-1983 7836
28-4-1983 7815
31-5-1983 7857
29-6-1983 7801
28-7-1983 7774
24-8-1983 7758
28-9-1983 7748
26-10-1983 7727
29-11-1983 7782
27-1-1984 7801
28-3-1984 7764
27-4-1984 7752
28-5-1984 7795
27-7-1984 7748
27-8-1984 7729
28-9-1984 7752
26-10-1984 7789
28-11-1984 7797
18-12-1984 7781
28-1-1985 7833
21-2-1985 7778
22-4-1985 7794
28-5-1985 7768
28-6-1985 7836
26-8-1985 7765
19-9-1985 7760
31-10-1985 7756
26-11-1985 7760
20-12-1985 7781
17-1-1986 7813
28-1-1986 7852
26-2-1986 7797
25-3-1986 7838
22-4-1986 7807
27-5-1986 7785
24-6-1986 7787
26-8-1986 7744
23-9-1986 7742
22-10-1986 7752
1-12-1986 7749
17-12-1986 7758
我想计算 5 年的平均身高。因此,在示例 14-1-1980 + 5 年、14-1-1985 + 5 年的情况下,...。每次计算平均值时,数据点的数量都不同。 5 年后的日期很可能不会作为数据点出现在数据集中。因此,我认为我需要以某种方式告诉 R 在某个时间跨度内取平均值。
我在互联网上进行了搜索,但没有找到适合我需要的东西。许多有用的包,如 uts、zoo、lubridate 和传递的函数聚合。我没有更接近解决方案,而是越来越困惑哪种方法最适合我的问题。
提前非常感谢!
【问题讨论】:
-
首先您可以阅读所有内容并将 rbind 合并到一个数据帧中。
-
也许可以看看
zoo包中的rollapply。
标签: r date time-series