【发布时间】:2021-06-06 18:03:19
【问题描述】:
我有两个具有共同 ID(员工编号)的数据集。
数据集 1 是所有员工的列表以及他们加入我公司的日期。它们可以在此数据集中合法地复制,因为它们可以在以后返回公司。
在数据集 2 中,我列出了向储蓄计划付款的所有员工以及交易日期。同样,由于付款超过 1 次,可能会出现重复
我正在尝试将两个数据集合并在一起,以便将来自 Dataset2 的日期附加到 Dataset 1 中的“正确”行。我的意思是附加到他们所在职位的就业记录他们付款的时间。
我已经按照此解决方案查看了加入日期,但我的数据集 1 中存在重复项意味着这不起作用 Data.table: Join on ID and Date key, but want closest date before (or equal to ) date key in first table
数据集 1 中的示例数据如下所示
Employee JoinDate
001 01/01/2019
002 01/03/2019
003 01/08/2019
004 01/01/2019
001 01/10/2020
003 01/04/2020
005 01/04/2019
001 01/01/2021
004 01/08/2020
003 01/10/2020
数据集 2 中的示例数据
Employee PayDate
001 01/11/2020
002 01/04/2019
003 01/05/2020
003 01/12/2020
004 01/05/2019
004 01/10/2020
005 01/10/2019
员工可以多次付款,因此问题在于将每笔付款标记到正确的就业记录中。加入后必须付款。
对于这个虚拟数据,期望的输出是:
Employee JoinDate PayDate
001 01/10/2020 01/11/2019
002 01/03/2019 01/04/2019
003 01/04/2020 01/05/2020
003 01/10/2020 01/12/2020
004 01/01/2019 01/05/2019
004 01/08/2020 01/10/2020
005 01/04/2019 01/10/2019
【问题讨论】:
-
嗨。例如,请使用
dput(head(df, 10))来提供您的数据样本而不是截图。
标签: r