在时间序列数据中插入新行,并自动添加日期

时间:2015-10-26 22:27:58

标签: r date time-series

我有一个时间序列数据框,如下所示:

            TS.1
2015-09-01 361656.7
2015-09-02 370086.4
2015-09-03 346571.2
2015-09-04 316616.9
2015-09-05 342271.8
2015-09-06 361548.2
2015-09-07 342609.2
2015-09-08 281868.8
2015-09-09 297011.1
2015-09-10 295160.5
2015-09-11 287926.9
2015-09-12 323365.8

现在,我想要做的是在现有数据框中添加一些新的数据点(行),比如说,

320123.5
323521.7

如何在每行中添加相应的日期?数据只是从最后一行依次加入。

是否有任何软件包可以自动执行此操作,因此我唯一要做的就是插入新的数据点?

1 个答案:

答案 0 :(得分:0)

以下是一些播放数据:

df <- data.frame(date = seq(as.Date("2015-01-01"), as.Date("2015-01-31"), "days"), x = seq(31)) 
new.x <- c(32, 33)

这增加了额外的观察以及正确的日期序列:

new.df <- data.frame(date=seq(max(df$date) + 1, max(df$date) + length(new.x), "days"), x=new.x)

然后只需rbind即可获得展开的数据框:

rbind(df, new.df)

         date  x
1  2015-01-01  1
2  2015-01-02  2
3  2015-01-03  3
4  2015-01-04  4
5  2015-01-05  5
6  2015-01-06  6
7  2015-01-07  7
8  2015-01-08  8
9  2015-01-09  9
10 2015-01-10 10
11 2015-01-11 11
12 2015-01-12 12
13 2015-01-13 13
14 2015-01-14 14
15 2015-01-15 15
16 2015-01-16 16
17 2015-01-17 17
18 2015-01-18 18
19 2015-01-19 19
20 2015-01-20 20
21 2015-01-21 21
22 2015-01-22 22
23 2015-01-23 23
24 2015-01-24 24
25 2015-01-25 25
26 2015-01-26 26
27 2015-01-27 27
28 2015-01-28 28
29 2015-01-29 29
30 2015-01-30 30
31 2015-01-31 31
32 2015-02-01 32
33 2015-02-02 33