提取R中的第一个和最后一个交易日期

时间:2018-07-11 14:59:20

标签: r

我有一个交易数据集,如下所示。

   id   purchase_date
    A   6/1/18
    A   6/2/18
    A   6/10/18
    A   6/15/18
    B   6/4/18
    B   6/5/18
    C   6/3/18
    C   6/7/18
    C   6/8/18
    C   6/9/18
    C   6/12/18
    D   6/21/18
    D   6/30/18
    D   7/1/18
    E   3/23/18

我只想为每个ID进行第一笔和最后一笔交易。我的输出应如下所示。

ID  FIRST_PURCHASE_DATE LAST_PURCHASE_DATE
A   6/1/18              6/15/18
B   6/4/18              6/5/18
C   6/3/18              6/12/18
D   6/21/18             7/1/18
E   3/23/18             3/23/18

我的实际数据有20万个唯一ID。任何建议将不胜感激!

1 个答案:

答案 0 :(得分:4)

按“ ID”分组后,我们可以使用first中的lastdplyr

library(dplyr)
df1 %>%
  group_by(ID) %>% 
  summarise(FIRST_PURCHASE_DATE = first(purchase_date),
            LAST_PURCHASE_DATE  = last(purchase_date))

以上假设'purchase_date'由'ID'排序。如果不是,请转换为arrange类后再使用Datefirst

last