合并具有不同时间索引格式的两个时间序列

时间:2015-08-28 18:24:35

标签: r time-series

我有两个时间序列如下所示(第一个衡量消费;第二个GDP)。问题是时间索引的格式不同,长度也不同(直到目前为止都是这样;因此,GDP更长)。

合并它们的最佳方式是两个,结果只有三列:TIME,CON,GDP?索引也应该正确匹配,即1965-01-01与1965-Q1在同一行。

          DATE       CON
1   1965-01-01  60814.67
2   1965-04-01  61643.33
3   1965-07-01  62753.33
4   1965-10-01  63310.67
.      .          .
.      .          .
.      .          .
    2015-01-01  13908.03

        TIME     GDP
4364 1955-Q1 90872.2
4365 1955-Q2 93454.7
4366 1955-Q3 95558.2
4367 1955-Q4 94438.4
.      .          .
.      .          .
.      .          .
     2015-Q1 199872.4

1 个答案:

答案 0 :(得分:2)

使用merge中的zoo。假设数据位于df1df2,并使用了1955年和1965年的剪辑加上2015年的添加......

library(zoo)

CON<-zoo(df1$CON,as.yearqtr(as.Date(df1$DATE)))
GDP<-zoo(df2$GDP,as.yearqtr(sub("-"," ",df2$TIME)))

merge(CON,GDP)
             CON      GDP
1955 Q1       NA  90872.2
1955 Q2       NA  93454.7
1955 Q3       NA  95558.2
1955 Q4       NA  94438.4
1965 Q1 60814.67       NA
1965 Q2 61643.33       NA
1965 Q3 62753.33       NA
1965 Q4 63310.67       NA
.              .        .
.              .        .
.              .        .
2015 Q1 13908.03 199872.4