首页 文章

合并2个不规则的时间序列

提问于
浏览
0

我正在尝试为两个不规则的时间序列做一个相当于vlookup的excel .

具有DAILY频率的一个动物园对象保持每列中的统计量的等级 .

> head(sdRANK.z); dim(sdRANK.z)
           B1 WTI1 NG1 HO1 RB1 W1 SB1 CO1 C1 S1 LU1 CT1 LE1 SM1 KC1 BO1 LC1 FC1 HG1 GC1 SI1
2011-02-28  9    8   7  11  15  6   1  10  5 18   4   2  13  17  12  16  19  20  14  21   3
2011-03-01  9    8   7  11  14  6   1  10  5 18   4   2  13  17  12  16  19  20  15  21   3
2011-03-02  9    7   8  12  14  6   3  10  5 18   4   1  13  17  11  16  19  20  15  21   2
2011-03-03  9    8   7  12  15  6   1  10  5 18   4   2  13  17  11  16  19  20  14  21   3
2011-03-04  9    8   7  12  15  6   1  10  5 18   4   2  13  17  11  16  19  20  14  21   3
2011-03-07  9    8   7  12  15  6   1  11  5 18   4   2  13  17  10  16  19  20  14  21   3
[1] 633  21
>

具有每月频率的第二个动物园对象具有其每行中每个月的最后一个工作日 . 该矩阵的列当前填充为0 .

> head(volMAT.z); dim(volMAT.z)
           B1 WTI1 NG1 HO1 RB1 W1 SB1 CO1 C1 S1 LU1 CT1 LE1 SM1 KC1
2011-02-28  0    0   0   0   0  0   0   0  0  0   0   0   0   0   0
2011-03-31  0    0   0   0   0  0   0   0  0  0   0   0   0   0   0
2011-04-29  0    0   0   0   0  0   0   0  0  0   0   0   0   0   0
2011-05-31  0    0   0   0   0  0   0   0  0  0   0   0   0   0   0
2011-06-30  0    0   0   0   0  0   0   0  0  0   0   0   0   0   0
2011-07-29  0    0   0   0   0  0   0   0  0  0   0   0   0   0   0
           BO1 LC1 FC1 HG1 GC1 SI1
2011-02-28   0   0   0   0   0   0
2011-03-31   0   0   0   0   0   0
2011-04-29   0   0   0   0   0   0
2011-05-31   0   0   0   0   0   0
2011-06-30   0   0   0   0   0   0
2011-07-29   0   0   0   0   0   0
[1] 30 21

我希望将每日数据集中的排名合并到每月数据集中,其结果类似于Excel中的vlookup函数,并具有“近似”查找功能 . 这意味着近似匹配始终是在月末之前发生的最接近的值 . 所以,最终矩阵中的第一行看起来像这样:

2011-03-01  9    8   7  11  14  6   1  10  5 18   4   2  13  17  12  16  19  20  15  21   3

我花了几天时间尝试使用merge和merge.zoo的各种组合,没有太大进展 . 任何帮助将不胜感激 .

谢谢,复活节快乐周日!!

1 回答

  • 0

    解决了!!

    y=as.timeSeries(sdMAT.z)
    y2=daily2monthly(y)
    

    2行代码和4天的痛苦!

相关问题