根据有效性间隔加入数据帧

时间:2017-02-08 13:06:02

标签: r

我正在寻找一种在两个数据框中合并信息的优雅方式。第一个数据框包含交易级别(TRANSID)的销售数据,包括项目编号(ITEMNO),销售日期(SALESDATE)和销售价格(SALESPRICE)的列。第二个数据框包含每个项目的推荐价格(RPRICE)信息和特定日期间隔(VALIDFROM,VALIDTO),因为建议价格可能随时间而变化。对于每个项目,间隔从不重叠。

为了调查销售价格是否与推荐价格相对应,我想将第二个数据框中的建议价格添加到第一个数据框。但是,随着建议价格的变化,联接应基于SALESDATE在有效性区间内的标准(VALIDFROM,VALIDTO)。

 Data frame 1 example:

 ITEMNO    SALESDATE      SALESPRICE    TRANSID
 A         2016-10-01     555           1
 A         2016-11-04     555           2
 A         2016-12-23     555           3
 A         2017-01-12     555           4

 Data frame 2 example

 ITEMNO   VALIDFROM     VALIDTO       RPRICE
 A        2016-08-01    2017-01-10    555
 A        2017-01-11    2017-05-20    500

 Output should like this:

 ITEMNO    SALESDATE      SALESPRICE    TRANSID   RPRICE
 A         2016-10-01     555           1         555
 A         2016-11-04     555           2         555
 A         2016-12-23     555           3         555
 A         2017-01-12     555           4         500

在上述情况下,由于建议价格在前一天发生变化,因此交易4未按建议价格进行。有没有人对如何做到这一点有任何想法?

0 个答案:

没有答案