首页 > 解决方案 > 如何使用 Tidyverse 按 ID 将最近的日期与参考日期进行比较?

问题描述

我正在 Tidyverse 中寻找解决方案来实现以下目标。我想按 ID(“client_number”)为每个给定日期(“appointment_date”)选择最近的日期。

数据输入:

客户编号 约会日期
1 2021-06-03
1 2021-07-01
1 2021-08-26
2 2019-08-01
2 2019-08-15
2 2019-09-02

期望的输出:

客户编号 约会日期 上次约会
1 2021-06-03 不适用
1 2021-07-01 2021-06-03
1 2021-08-26 2021-07-01
2 2019-08-01 不适用
2 2019-08-15 2019-08-01
2 2019-09-02 2019-08-15

标签: r

解决方案


我们按 Client_number 分组,然后取lag

library(dplyr)
df1 %>%
    group_by(Client_number) %>%
    mutate(Last_appointment = lag(Appointment_date)) %>%
    ungroup

推荐阅读