我想为我的专栏计算差异(更改/增量)value
。数据框:
ID Dato Tenor value tmt
B1 2014-01-02 3M 8 0.25
B1 2014-01-02 6M 14 0.50
B1 2014-01-02 1Y 20 1.00
B1 2014-01-02 2Y 41 2.00
B1 2014-01-02 3Y 57 3.00
B1 2014-01-02 5Y 80 5.00
B1 2014-01-02 7Y 85 7.00
B1 2014-01-02 10Y 89 10.00
输出应该是 6M-3M、2Y-1Y 的差异,因此我正在寻找看起来像这样的新 data.frame:
ID Dato Tenor value tmt
B1 2014-01-02 6M 6 0.25
B1 2014-01-02 1Y 6 0.50
B1 2014-01-02 2Y 21 1.00
B1 2014-01-02 3Y 16 1.00
B1 2014-01-02 5Y 23 2.00
B1 2014-01-02 7Y 5 2.00
B1 2014-01-02 10Y 4 3.00
在 R 中有一种简洁的方法吗?一般来说,有一种计算差异的方法,其中差异是通过 wrt 计算的。自定义订单/索引?在这个 ex 中,索引变量将是tmt
。data.frame 可能看起来像这样:
ID Dato Tenor value tmt
B1 2014-01-02 1Y 20 1.00
B1 2014-01-02 2Y 41 2.00
B1 2014-01-02 3Y 57 3.00
B1 2014-01-02 5Y 80 5.00
B1 2014-01-02 7Y 85 7.00
B1 2014-01-02 10Y 89 10.00
B1 2014-01-02 3M 8 0.25
B1 2014-01-02 6M 14 0.50
结果应该是 value(tmt2) - value(tmt1),其中 tmt2>tmt1 始终。斯蒂格